算法导论第三版 22.2 广度优先搜索 练习题答案全解析

本文详细解析了算法导论第三版中22.2章节的广度优先搜索(BFS),包括删除节点颜色设置为黑色的代码、BFS在邻接矩阵中的时间复杂度、最短路径与树边的关系、寻找特定路径的算法等问题。内容涵盖BFS的性质、应用以及在不同图结构中的表现,并提供了求解树直径的有效算法和计算特定路径的O(V+E)时间复杂度方法。
摘要由CSDN通过智能技术生成

1——2:略

3. 使用单个位来表示颜色,单个位只能表示位0/1,因此颜色只有白和灰,黑色无法表示,因此删除第十八行对每个结点扫描结束后赋值为黑色的一行代码。

证明:直接一想就可以,代码第十三行,v.color==WHITE才会进行处理,灰色同样不处理,而算法最后之所以设置为黑色,是为了在研究算法的过程中给出一个更加形象的说明而已。

 

4. 如果换成邻接矩阵的话,BFS的时间复杂度将变为多少

 

如果换成邻接矩阵,在扫描队列中结点i的时候,必须将mat(i,-)这一行所有的结点都扫描1遍,复杂度为O(V),而扫描队列中每个结点,因此复杂度为O(V^2)

 

5. 证明:在广度优先算法里,赋给结点uu.d值与结点在邻接链表里出现的次序无关。使用下图为例子,证明:BFS所计算出来广度优先树可以因邻接链表中的次序不同

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值