现实生活中使用级别顺序遍历

时间:2012-10-31 09:57:42

标签: data-structures binary-tree

有人可以建议我什么时候需要水平顺序遍历(解决一些实际/现实生活场景)?

2 个答案:

答案 0 :(得分:4)

Level order traversal实际上是广度优先搜索,本质上不是递归的。

来自:http://en.wikipedia.org/wiki/Breadth-first_search

广度优先搜索可用于解决图论中的许多问题,例如:

  • 查找一个连接组件中的所有节点
  • 复制收藏,切尼的算法
  • 找到两个节点u和-v之间的最短路径(路径长度用边数测量)
  • 测试二分图的图表
  • (反向)Cuthill-McKee网格编号
  • 用于计算流量网络中最大流量的Ford-Fulkerson方法
  • 二进制树的序列化/反序列化与序列化 排序顺序,允许树以高效率重新构建 方式。

答案 1 :(得分:1)

Google Map Direction始终使用级别订单遍历(BFS)。

算法重复选择最接近交叉点的节点的相同方法,最终选择长度最短的路径。

http://blog.hackerearth.com/breadth-first-search-algorithm-example-working-of-gps-navigation