【发布时间】:2013-05-29 08:51:26
【问题描述】:
这是我存储在 JSON 中的数据结构示例:
{ “α”: { “节点1”:“回声”, “node2”:“好极了” }, “好极了”:{ “节点1”:“阿尔法”, “node2”:“好极了”, “node3”:“查理” }, “查理”:{ “node1”:“好极了”, “node2”:“狐步舞” }, “三角洲”:{ “节点1”:“阿尔法”, “节点2”:“酒店” }, “回声”:{ “node1”:“高尔夫”, “节点2”:“三角洲” }, “狐步舞”:{ “节点1”:“回声”, “node2”:“印度”, “节点3”:“三角洲” }, “高尔夫”:{ "node1": "酒店", “节点2”:“查理” }, “酒店”: { “node1”:“狐步舞”, “node2”:“印度” }, “印度”: { “node1”:“查理”, “节点2”:“酒店” } }我正在寻找任何两个节点之间的最短路径。比如echo到hotel的最短路径是:echo -> golf -> hotel
如您所见,这些节点是循环的,并且可以无休止地遍历它们。我还应该注意,节点路径都是一种方式。所以使用上面同样的例子,从hotel回到echo的最短路径是:hotel -> foxtrot -> echo
这样的数据结构有名称吗?我知道循环打破了“树”的规则。这会是图遍历吗?
【问题讨论】:
-
BFS 在这里可能会有所帮助。
-
你试过什么?谷歌“图最短路径”为您提供了一些关于典型算法的链接。
标签: python json traversal tree-traversal graph-traversal