我不需要代码,只需要解释。我的教科书说
级别顺序:级别i的每个节点在级别i + 1的任何节点之前被处理
我对广度优先搜索的理解是你从左边开始首先探索离根最近的节点?这有什么不同?这是一个方形和矩形的情况吗?
我不需要代码,只需要解释。我的教科书说
级别顺序:级别i的每个节点在级别i + 1的任何节点之前被处理
我对广度优先搜索的理解是你从左边开始首先探索离根最近的节点?这有什么不同?这是一个方形和矩形的情况吗?
对于“正确的”树(见下文),它是相同的,至少大多数定义。喜欢 维基百科, 例如:
广度优先
另请参见:广度优先搜索
树木也可以穿越 一级阶,...
...广度优先(水平顺序)遍历......
好吧,至少水平顺序遍历与广度优先相同 遍历。遍历某些东西的原因有很多,它不仅仅需要搜索广告优先级 搜索 似乎暗示,尽管许多(或大多数)没有做出这种区分并且可互换地使用这些术语。
我个人真正使用“水平顺序遍历”的唯一一次就是谈论 in-,post-和pre-order遍历,只是遵循相同的“......订单遍历”格式。
对于一般图表,“水平”的概念可能不是很好(尽管你 可以 我想将它定义为与源节点的(最短)距离,因此水平顺序遍历可能没有明确定义,但是广度优先搜索仍然是完全有意义的。
我在上面提到了一个“正确的”树(这是一个完全构成的子分类,以防你想知道) - 这只是意味着'水平'被定义为你所期望的 - 每个边缘将水平增加一个。然而,人们可能能够稍微使用“级别”的定义(尽管这可能不被广泛接受),实质上允许边跳过级别(或者甚至在同一级别上的节点之间具有边缘)。例如:
level
1 1
/ \
2 / 3
/ /
3 2 4
所以水平顺序遍历就是 1, 3, 2, 4
,
而广度优先遍历将是 1, 2, 3, 4
。