Einfache Graph-Search-Algorithmus in SQL (PostgreSQL)

Habe ich implementiert, die ein graph von Knoten in PostgreSQL (kein Baum)

sich die Struktur der Tabelle ist in diesem format

id | node1  | node2 
--------------------
1  |   1    |   2
2  |   1    |   3
3  |   4    |   1
4  |   5    |   1
5  |   1    |   6

Diese zeigt die Beziehungen zwischen den Knoten 1 und dem Knoten verbunden ist.

Mein Problem

...ist, dass ich brauche eine Funktion oder eine Methode zu finden, die einen bestimmten Knoten Pfad in sql.

Möchte ich nennen eine Funktion wie SELECT getGraphPath(startnode,targetnode) und zeigt den Pfad in irgendeiner form(Zeilen, oder Zeichenfolgen)

Z. B. WÄHLEN Sie getGraphPath(1,18) gibt:

[1]-->[3]-->[17]-->[18]
[1]-->[4]-->[10]-->[18]

oder sogar Zeilen:

Result  |
--------
1
3
17
18

Ich würde auch gerne wissen, wie man Durchlaufen Sie das Diagramm mit Breite-zuerst-Suche-und depth-first-Suche.

  • Ich bin mir nicht sicher, wie Sie Ihre Probe-Ausgabe bezieht sich auf deine sample-Daten. Ich kann nicht sehen, ein 3 -> 17 oder a 4 -> 10 in deinem Beispiel-Daten...
InformationsquelleAutor J146 | 2010-11-02
Schreibe einen Kommentar