
文章插图
第八步 , 当前顶点是 F , 与 F 相连并且还未被访问到的点是 C 和 D , 按照字母顺序来 , 下一个被访问的 点是 C , 将 C 压入栈 , 标记为访问过 , 输出到结果中 。

文章插图
第九步 , 当前顶点为 C , 与 C 相连并尚未被访问到的顶点是 H , 将 H 压入栈 , 标记为访问过 , 输出到结 果中 。

文章插图
第十步 , 当前顶点是 H , 由于和它相连的点都被访问过了 , 将它弹出栈 。

文章插图
第十一步 , 当前顶点是 C , 与 C 相连的点都被访问过了 , 将 C 弹出栈 。

文章插图
第十二步 , 当前顶点是 F , 与 F 相连的并且尚未访问的点是 D , 将 D 压入栈 , 输出到结果中 , 并标记为访问过 。

文章插图
第十三步 , 当前顶点是 D , 与它相连的点都被访问过了 , 将它弹出栈 。以此类推 , 顶点 F , B , A 的邻居 都被访问过了 , 将它们依次弹出栈就好了 。最后 , 当栈里已经没有顶点需要处理了 , 我们的整个遍历结束 。

文章插图
三、时间复杂度邻接表 访问所有顶点的时间为 O(V) , 而查找所有顶点的邻居一共需要 O(E) 的时间 , 所以总的时间复杂度是 O(V + E) 。
邻接矩阵 查找每个顶点的邻居需要 O(V) 的时间 , 所以查找整个矩阵的时候需要 O( V * V) 的时间 。
【数据结构与算法:图的遍历—深度优先搜索】
推荐阅读
- ERP与CRM软件集成的关键优势
- MySQL索引数据结构入门
- 数据结构与算法:图的存储—邻接表
- 仲裁与诉讼的区别是什么?
- 拘留所与看守所有啥区别?
- 抖音feed流广告与信息流广告区别有哪些?
- 明星|娱记曝二字功夫巨星老婆出轨!与男明星楼上运动,夸赞比老公厉害
- 迪丽热巴|迪丽热巴新剧开机,笑容对金世佳冷脸,与和杨紫合作时反差大!
- 张敏|55岁张敏瘦到脱相!皮肤松弛颈纹明显,与男友定居内地豪宅抢镜
- 朱之文|大衣哥“反噬”,儿子与新妻宣告离婚
