使用BFS算法查找顶点的树的时间复杂度

时间:2016-11-08 21:11:04

标签: algorithm data-structures time-complexity breadth-first-search

enter image description here

我对树的BFS时间复杂度有点困惑。如果没有父节点的子节点,那么找到该值的时间复杂度是多少?

例如: -

是图形图像。我想找到顶点" K"通过使用BFS算法那么时间复杂度是多少?请解释一下。

1 个答案:

答案 0 :(得分:0)

  • 这里的上述树数据结构与非定向,非加权,简单图相同。

  • 根据您的问题,我们可以从A顶点到K顶点启动BFS算法,我们将得到路径A-> B-> C-> D-> E-> F-> ; G-> H-> I-> J-> k

  • 通过BFS查找顶点时,队列数据结构更方便。

  • 复杂性计算:

1)使用邻接矩阵实现的BFS的复杂度为O(| V | ^ 2)。 原因:在邻接矩阵中,您需要访问一个节点两次,因为它们在行和列中重复。

2)当由邻接列表实现时为O(| V | + | E |)。 原因:由于邻接列表,我们只需要访问一次顶点。