mercredi 14 janvier 2015
Rekursive Suche in einem Netz
Posted on 11:29 by verona
Hallo,
ich habe ein konzeptionelles Problem. Ich möchte ein Netz aufbauen und dieses rekursiv durchsuchen. Jeder Knoten hat 0-3 Kindknoten.
Ich habe im Backend außerdem eine Datenbank, in welcher u.a. die Beziehungen der Knoten gespeichert sind.
Der Root liegt genau im Zentrum des Netzes, drumherum sind kreisförmig in "Schichten" die Kindknoten angeordnet. Kindknoten können entweder auf derselben Schicht oder eine darunter liegen. Jeder Knoten kennt seine Schicht und seine Kinder, aber nicht seine Eltern.
Dadurch entstehen aber auch solche Beziehungen, die unweigerlich zu Endlosschleifen führen werden:
Knoten A ist ein Kind von Knoten B.
Knoten B ist ein Kind von Knoten A.
Mir fällt momentan nur eine Lösung für dieses Dilemma ein:
Ich gebe jedem Knoten ein Feld "visited" mit und gebe nach der Suche den Befehl, in der Datenbank alle Werte wieder auf false zu setzen.
Gibts dafür bessere Möglichkeiten?
ich habe ein konzeptionelles Problem. Ich möchte ein Netz aufbauen und dieses rekursiv durchsuchen. Jeder Knoten hat 0-3 Kindknoten.
Ich habe im Backend außerdem eine Datenbank, in welcher u.a. die Beziehungen der Knoten gespeichert sind.
Der Root liegt genau im Zentrum des Netzes, drumherum sind kreisförmig in "Schichten" die Kindknoten angeordnet. Kindknoten können entweder auf derselben Schicht oder eine darunter liegen. Jeder Knoten kennt seine Schicht und seine Kinder, aber nicht seine Eltern.
Dadurch entstehen aber auch solche Beziehungen, die unweigerlich zu Endlosschleifen führen werden:
Knoten A ist ein Kind von Knoten B.
Knoten B ist ein Kind von Knoten A.
Mir fällt momentan nur eine Lösung für dieses Dilemma ein:
Ich gebe jedem Knoten ein Feld "visited" mit und gebe nach der Suche den Befehl, in der Datenbank alle Werte wieder auf false zu setzen.
Gibts dafür bessere Möglichkeiten?
Rekursive Suche in einem Netz
Categories: Rekursive Suche in einem Netz
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire