我在PostgreSQL(不是树)中实现了节点图
表格的结构采用这种格式
id | node1 | node2
--------------------
1 | 1 | 2
2 | 1 | 3
3 | 4 | 1
4 | 5 | 1
5 | 1 | 6
Run Code Online (Sandbox Code Playgroud)
这显示了节点1与其连接的节点之间的关系.
...是我需要一个函数或方法来在sql中查找特定的节点路径.
我想调用SELECT getGraphPath(startnode,targetnode)之类的函数,这将以任何形式显示路径(行或字符串)
例如SELECT getGraphPath(1,18)给出:
[1]-->[3]-->[17]-->[18]
[1]-->[4]-->[10]-->[18]
Run Code Online (Sandbox Code Playgroud)
甚至是行:
Result |
--------
1
3
17
18
Run Code Online (Sandbox Code Playgroud)
我还想知道如何使用广度优先搜索和深度优先搜索来遍历图形.