图的几种储存方式,邻接矩阵,邻接表,逆邻接表,十字链表。邻接表中储存着该元素的下一个节点可以到达的节点,逆邻接表中储存的是可以在下一个节点直接到达该点的元素,十字链表综合了两种表的特性,但是就概念模型而言,比较耗费存储空间,做内存优化之后,将边看成元素,储存相邻两个节点的index,在链表的后面,存入边,如图所示:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述 在遍历图时,对图中的每个顶点至多调用一次(DFS)函数,(深度优先搜索),因为一旦某个顶点被标志成已被访问,就不再从它出发进行搜索,因此,遍历图的过程实质上就是对每个顶点查找其邻接点的过程,其时间消耗则取决于所采取的存储结构,当采用邻接矩阵来储存时,时间的复杂度为 O ( n 2 ) O(n^2) O(n2),当采用邻接链表储存时,所需时间为 O ( e ) O(e) O(e),e为无向图中中弧的个数。由此,当以邻接表作为存储结构时间,深度搜索遍历图的时间复杂度为 O ( n + e ) O(n+e) O(n+e)。广度优先算法与深度优先算法相似。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值