Dijkstra的算法,访问二叉树深度优先

时间:2012-12-12 13:42:25

标签: binary-tree dijkstra depth-first-search

我正在处理二叉树,我想知道如何加权边缘以便以深度优先的顺序访问二叉树。
  我知道我需要为通往我想先访问的节点的边缘分配更少的权重   但是节点的深度是否存在关系?
欢呼声。

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:0)

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