Laden...

Suche von Treffern in einem Baum mit 2000 Knoten dauert sehr lange

Erstellt von DiscMaster vor 13 Jahren Letzter Beitrag vor 13 Jahren 907 Views
DiscMaster Themenstarter:in
316 Beiträge seit 2006
vor 13 Jahren
Suche von Treffern in einem Baum mit 2000 Knoten dauert sehr lange

Sers zusammen,

ich brauche einen effizienten Stingvergleich Algorithmus.

Hintergrund ist folgender:
Ich lade ab einem bestimmten Ordner in meinem Dateisystem die Hierarchie. Unterm Strich hat die Struktur dann grob übern Daumen 2000 Dateien und Ordner. Jetzt wollte ich eine Suchfunktion implementieren die einfach wie in Visual Studio 2010 über den Properties die Eingabe entgegennimmt und alle nich betroffenen Elemente ausblendet.

Mein Vorgehen ist im Moment wie folgt:
Ich gehe rekursiv über alle Hierarchie-Knoten und -Enden und prüfe den Datei- bzw. Ordnernamen mit string.Contains(searchtext);

Das dauert aber sehr sehr lange bis der fertig gesucht hat. Nun ist mir geläufig das Stringverarbeitung in großen Mengen immer sone Sache ist, aber es gibt doch mit Sicherheit eine Lösung oder?

Wär super wenn mir jemand weiterhelfen könnte.

Danke.
DiscMaster

"Flache Hierarchien schaffen! Das muss konkret nicht unbedingt etwas bedeuten, kommt aber immer sehr gut an."
Bernd Stromberg

5.742 Beiträge seit 2007
vor 13 Jahren

Hallo DiscMaster,

Standardfrage bei solchen Performancegeschichten: Schon mit einem Profiler angeschaut?

Wenn nein: Woher weißt du dann, dass es gerade die Stringvergleiche sind?

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo DiscMaster,

in 2000 Strings von der Länge eines Pfadnamens einen Text zu suchen, darüber lachen doch heutige Rechner nur.

herbivore

DiscMaster Themenstarter:in
316 Beiträge seit 2006
vor 13 Jahren

kleinlaut: ich hab einen fehler in der rekursion gehabt...asche auf mein haupt.

"Flache Hierarchien schaffen! Das muss konkret nicht unbedingt etwas bedeuten, kommt aber immer sehr gut an."
Bernd Stromberg