数据结构期末复习——图的遍历
图的遍历:
1.定义:从某个结点出发访问遍图中结点,且使每个结点仅被访问一次
图的遍历具有复杂性,主要体现在以下几点
1.遍历没有规定从哪个结点开始访问,因此从任意结点开始访问均可
2.图的一个结点可以连接多个结点,因此无法确定访问此结点之后应该访问哪一个结点
3.如果一个图中存在回路,因此访问一个结点之后可能沿回路返回重复访问
4.从一个结点出发仅能访问到其联通结点,非连通图该如何访问其他结点
问题关键:如何确保每个结点都被访问到,如何保证每个结点仅被访问一次
DFS(深度优先)、BFS(广度优先)
DFS过程
1.从图中某一结点开始访问
2.访问该节点的邻接结点,递归这个过程,直到没有可以访问的邻接结点u为止
3.回退到上一个结点,再次进行递归直到图中结点均被访问为止
BFS过程
1.从图中某一结点开始访问
2.依次访问该结点所有未被访问过的邻接点
3.使得先被访问的顶点的邻接点先于后被访问的顶点的临界点访问
注:广度优先是一个分层搜索的过程,并不是一个递归的过程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)