1

我正在处理一棵二叉树,我想知道如何加权边缘以便以深度优先顺序访问二叉树。
我知道我需要为通向我想首先访问的节点的边分配更少的权重。
但是与节点的深度有关系吗?
干杯。

4

2 回答 2

4

这听起来像是一个学生的练习。可以使用 Dijkstra 算法首先搜索二叉树深度。树的边缘和深度之间确实存在关系:

             A
          1      4
       B             E
     1   2         1   2
   C       D     F      G

在上面的树中,字母代表节点,数字代表加权边。Dijkstra 算法将以深度优先顺序访问这棵树的节点。在这种特定情况下:按字母顺序。

于 2012-12-12T14:08:46.800 回答
0

由于 Dijkstra 算法计算每个顶点的前驱之间的分钟数,因此您将始终具有这样的 BFS 行为。例如,您从第一个知道 vertex 开始A。没有 pred,值设置为 0。你取它的所有后继,并且对于它们中的每一个,你测试所有前驱的距离和相关值。对我来说,这就像一个 BFS。

于 2012-12-12T13:53:11.420 回答