anstatt zu jedem Node erstmal dessen Pfad zu bestimmen und dann zu vergleichen,
wäre es bestimmt schneller, wenn du den übergebenen Pfad zerlegst und dann diesen stückchenweise suchst.
hätte den Vorteil, daß im schlimmsten Fall nicht der ganze Baum durchsucht werden muß.
und du hättest gleich den ersten bereits existierenden Node-Teil
(am unteren Beispiel die Suche nach b\x\u\q ... man braucht also ab b\x\ anfangen den neuen Node einzubauen ... der Erste Teil exisitert ja schon)
z.B.
Code:
a
d
i
m
e
j
b
f
g
k
l
n
x
c
h
wenn man hier z.B. "b\x" möchte suchst du fast den gesamten Tree ab
Code:
zusammen stückchenweise
a a
a\d
a\d\i
a\d\i\m
a\e
a\e\j
b b
b\f b\f
b\g b\g
b\g\k
b\g\l
b\g\k\l
b\x b\x
PS:
Delphi-Quellcode:
if WithDelimiter then Result := aNode.Text +'\'
else Result := aNode.Text +'\';
irgendwie ist Result da immer das Selbe