分析BFS生成的树

时间:2012-01-31 10:18:46

标签: algorithm breadth-first-search

我想在Mathexchange中提出这个问题,但它不是关于计算和是/否,而是更多关于计算机科学相关的算法,所以我在这里问。

在BFS算法中,可以将每个遍历级别标记为图层。例如,如果s是起始顶点,则任何单个图层中的顶点都应与s具有相同的距离。这是BFS搜索算法最基本的特征之一。

假设有两个层,一个由BFS算法生成的树被称为T,而图形被称为G。这意味着T中任意2个节点之间的最大距离为i。 (可能一个来自起始层,一个来自底层)

使用该属性如何证明a中存在顶点G,使其度数最多为6*|V|/i

我认为,因为图层u中的任何顶点L_j都有边连接到图层L_j-1L_j+1中的顶点,显示存在3个后续图层,共有最多6|V|/i个顶点。有助于。

但问题是我知道目标,但我不知道如何处理它。

1 个答案:

答案 0 :(得分:2)

方法应该是:取三层的层(例如[1,2,3],[4,5,6] ......)。它们有i/3个,它们是不相交的。它们一起有V个顶点,这意味着必须有一个<= V/(i/3)个三元组(否则......算一下)。但是,这种方法最多导致3V/i度。

也许i应该是直径(我称之为m为两个顶点之间的最大距离。我对你的陈述感到困惑

  

T中任意2个节点之间的最大距离为i。

这不是真的 - 对于某些顶点,你必须向上然后向下)。然后,m将为<= 2*i,这会导致最多6V/m度的顶点。