【数据结构】图的遍历

本文详细介绍了图的深度优先遍历和广度优先遍历。深度优先遍历的思想是从一个节点出发,访问所有未访问过的相邻节点,时间复杂度为O(|v|)至O(|v|²)。广度优先遍历则是逐层辐射状遍历,时间复杂度为O(|v|+|E|)。伪代码也一同给出,帮助理解两种遍历方法的实现过程。
摘要由CSDN通过智能技术生成

深度优先遍历

 深度优先遍历思想

对于图:选中一个结点,访问和其相邻的、未被访问过的点,全部访问完毕后回退到上一个结点,直至全部结点访问完毕,类似于图的先序遍历,如有邻接表,则按邻接矩阵的顺序遍历。

时间复杂度:O(|v|)

对于邻接矩阵:选中一个结点,寻找其对应列标,找到后在此行依次从左向右遍历,如为1则对其行标的元素进行访问,然后寻找此元素的列标,与上一步进行循环,遇到访问过的结点则跳过,如一个列标行所有为1的结点访问完毕,则回溯到上一层。

时间复杂度:O(|v|²)  每行v,v行v²

对于邻接表:选中一个头结点,对其表结点从左向右进行访问,访问到第一个表结点后跳转到其对应的头结点,与上一步进行循环,如遇到访问过的结点则跳过,如一个头结点的表结点全部访问完毕则跳转至上一层头结点。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值