如何在无向图上应用广度优先算法产生星图?

时间:2016-07-20 03:41:07

标签: data-structures graph

我从数据结构和算法教科书中得到了这个问题

  

如果简单的无向图包含每对不同顶点之间的边,则它是完整的。星图是n个节点的树,其中一个节点的顶​​点度为n-1,另一个节点的顶​​点度为1。

     

(a)绘制一个包含6个顶点的完整无向图。

     

(b)证明在(a)中无向图上应用先呼吸算法会生成星图。

我知道BFS如何使用队列工作,我可以提供遍历的结果。我对此感到困惑的是(b)我如何证明在无向图上应用BFS会产生星图?

1 个答案:

答案 0 :(得分:0)

在a中,总共有n * (n - 1) / 2条边。

这意味着对于每两个节点,它们之间存在边缘。

如果在(a)上使用队列应用BFS,请执行以下步骤:

1。)你选择一个随机节点,这是图的根。 2.)您从根节点旅行,并将具有边缘的所有节点放入队列。此外,您还有一个布尔数组来标记已经处理的人。

在2.)中

,除root之外的所有节点都将被放入队列中。

最后,根节点有N - 1条边,其他边只有一条边,而这条边是根