图形的遍历方法之先深后广法

        上一篇博文介绍了用相邻表来表示无向图和有向图。对于一个用相邻表来表示的图形,其访问和修改不如相邻矩阵那么简单。遍历一个用相邻表表征的图形,从访问顺序上可以分为先深后广法和先广后深法。所谓先深后广法,是优先访问完列表中每条链接的表头,再遍历其他节点,继续以上篇博文中无向图和有向图为例,

     

step 1:以A作为起点,将相邻的节点B、D和E放入堆栈,A标记为已访问

E D B
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是度优先遍历的操作方法: 1. 从起始节点开始遍历,将其标记为已访问。 2. 遍历该节点的所有邻居节点,如果邻居节点未被访问,则以该邻居节点为起点递归进行度优先遍历。 3. 重复步骤2,直到所有节点都被访问。 以引用中的度优先遍历序列为例,假设起始节点为2,则度优先遍历的过程如下: 1. 访问节点2,将其标记为已访问。 2. 遍历节点2的邻居节点1和5,选择节点1作为下一个遍历节点,递归进行度优先遍历。 3. 访问节点1,将其标记为已访问。 4. 遍历节点1的邻居节点2和6,选择节点6作为下一个遍历节点,递归进行度优先遍历。 5. 访问节点6,将其标记为已访问。 6. 遍历节点6的邻居节点3和7,选择节点3作为下一个遍历节点,递归进行度优先遍历。 7. 访问节点3,将其标记为已访问。 8. 遍历节点3的邻居节点4和7,选择节点4作为下一个遍历节点,递归进行度优先遍历。 9. 访问节点4,将其标记为已访问。 10. 遍历节点4的邻居节点7,选择节点7作为下一个遍历节点,递归进行度优先遍历。 11. 访问节点7,将其标记为已访问。 12. 遍历节点7的邻居节点8,选择节点8作为下一个遍历节点,递归进行度优先遍历。 13. 访问节点8,将其标记为已访问。 14. 遍历节点8的邻居节点5,选择节点5作为下一个遍历节点,递归进行度优先遍历。 15. 访问节点5,将其标记为已访问。 16. 所有节点都已被访问,遍历结束。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值