🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #10064

Re: Zachowanie stanu w TreeView

#10064
From: Hilarion
Date: Thu, 17 Nov 2005 14:08
35 lines
3213 bytes
>> Które "break"? Wewnętrzny "break" jak zmienisz na "continue", to pętla "foreach"
>> przeglądnie wszystkie węzły zamiast zatrzymać się po znalezieniu właściwego.
>> Jak wyrzucisz drugi - bardziej zewnętrzny - to zewnętrzna pętla "for" będzie
>> "szukać" kolejnego poziomu w sytuacji kiedy nie znaleziono bieżącego.
>> Co znaczy "wyskoczy"? Po jakich dwóch? Dwóch poziomach? Dwóch węzłach danego
>> poziomu? Jesteś pewien, że wyszukiwany "path" jest do znalezienia?
>>
>
> Generalnie nie jest kolorowo w ogole, w opisywanej sytuacji chodzilo mi o ten "pierwszy break", po zamianie odnajduje mi do 4 
> poziomow wglab danego TreeNoda (z breakiem do 3) - niestety nie zalatwia mi to problemu - mam do 6 poziomow w roznych Nodach. 
> Wazne jest takze dobre "zrobienie" samego zachowywania Patchy - tzn. zostawianie tylko tych najglebszych w danej sciezce.
>
> Niestety to wciaz nie rozwiazany dla mnie problem


Nie bardzo rozumiem. Podany algorytm wydaje się (bo nie analizowałem dogłębnie)
docierać do węzła wskazanego przez podaną ścieżkę. Jeśli na jakimś poziomie
okaże się, że nie ma podwęzła zadanego ścieżką, to się zatrzymuje. Wadą
algorytmu jest to, że jeśli wśród podwęzłów danego węzła jest więcej
niż jeden pasujący do podanej ścieżki, to algorytm wybierze pierwszy z nich
podczas gdy ścieżka może wskazywać na drugi. W takich sytuacjach jedyne
rozwiązanie to przeglądanie całego drzewa w poszukiwaniu pełnej ścieżki,
a w razie nie znalezienia zwrócenie najdłuższej znalezionej.

Twoja modyfikacja powoduje, że algorytm przegląda wszystkie podwęzły
bieżącego (zamiast tylko do pierwszego pasującego) oraz w przypadku
pasowania kilku węzłów na danym poziomie wybiera ostatni pasujący zamiast
pierwszego. Może to powodować w niektórych sytuacjach docieranie głębiej,
ale może też powodować docieranie płycej.

Jeśli coś źle zrozumiałem, to rozwiń stwierdzenie "zostawianie tylko tych
najgłębszych w danej ścieżce".


Hilarion 
Technical Details
Message-ID: <dli2q9$gan$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!news.onet.pl!not-for-mail
References: <dlf3ot$gkm$1@inews.gazeta.pl> <dlf5vq$ahk$1@nemesis.news.tpi.pl> <dlg7sm$mf5$1@inews.gazeta.pl> <dlgcmv$4tr$1@atlantis.news.tpi.pl> <dlhtup$fev$1@inews.gazeta.pl> <dli12p$9rl$1@news.onet.pl> <dli1vg$76l$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!news.onet.pl!not-for-mail
From: "Hilarion" <hilarion@SPAM.op.SMIECI.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Zachowanie stanu w TreeView
Date: Thu, 17 Nov 2005 15:08:09 +0100
Organization: Onet.pl
Lines: 36
Message-ID: <dli2q9$gan$1@news.onet.pl>
References: <dlf3ot$gkm$1@inews.gazeta.pl> <dlf5vq$ahk$1@nemesis.news.tpi.pl> <dlg7sm$mf5$1@inews.gazeta.pl> <dlgcmv$4tr$1@atlantis.news.tpi.pl> <dlhtup$fev$1@inews.gazeta.pl> <dli12p$9rl$1@news.onet.pl> <dli1vg$76l$1@inews.gazeta.pl>
NNTP-Posting-Host: fw.elfin.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1132236425 16727 213.25.37.46 (17 Nov 2005 14:07:05 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Thu, 17 Nov 2005 14:07:05 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
X-Sender: 9KSiimrLScNqWiVTMiVMJQ==
X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
X-Priority: 3
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit