Hallo,
ich muss hier ne Suche optimieren. Und zwar habe ich eine Klasse
NetNode : AStarNode mit einem
public Point Coords.
Ich will jetzt in einer Liste suchen, ob es schon ein Objekt gibt, das diese Koordinaten hat, und das so schnell wie möglich.
Wie macht man das?
Ich hätte übrigens auch schon
NetNode.IsSameState(NetNode Node), das genau das überprüft.
Bekomme ich das mit irgend einer Sortierung oder ähnlichem hin? Es gibt doch auch so IComparer-Sachen...
Mein jetziger Code sieht so aus:
Code:
foreach (AStarNode NodeClosed in FClosedList)
{
if (NodeClosed.IsSameState(NodeSuccessor))
{
SkipNode = true;
break;
}
}
Und ist wohl nicht besonders performant...
EDIT: was ich gerne verhindern möchte, ist die komplette Datenstruktur umzustellen, also zum Beispiel in ein Array of Point oder ähnliches...