数据结构--5.1图的存储结构(十字链表、邻接多重表、边集数组)

这篇具有很好参考价值的文章主要介绍了数据结构--5.1图的存储结构(十字链表、邻接多重表、边集数组)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、十字链表(Orthogonal List)

二、邻接多重表

三、边集数组

四、深度优先遍历


 

一、十字链表(Orthogonal List)

重新定义顶点表结点结构: 

data firstIn firstOut

重新定义边表结构结点:

tailVex headVex headLink tailLink

       十字链表的好处就是因为把邻接表和逆邻接表整合在了一起,这样既容易找到Vi为尾的弧,也容易找到以Vi为头的弧,因而容易求得顶点的出度和入度。

        十字链表除了结构复杂一点外,其实创建图算法的时间复杂度是和邻接表相同的,因此,在有向图的应用中,十字链表也是非常好的数据结构模型。

二、邻接多重表

        我们可以仿照十字链表的方式,对边表结构进行改装,重新定义的边表结构如下:

iVex iLink jVex jLink

        其中iVex和jVex是与某条边依附的两个顶点在顶点表中的下标。iLink指向依附顶点iVex的下一条边,jLink指向依附顶点jVex的下一条边。

        也就是说在邻接多重表里边,边表存放的是一条边,而不是一个顶点。 

三、边集数组

        边集数组是由两个一维数组构成的,一个是存储顶点的信息,另一个是存储边的信息,这个边数组每个数据元素由一条边的起点下标(begin),终点下标(end)和权(weight)组成。

四、深度优先遍历

        深度优先遍历(DepthFirstSearch),也有称为深度优先搜索,简称为DFS。文章来源地址https://www.toymoban.com/news/detail-687090.html

到了这里,关于数据结构--5.1图的存储结构(十字链表、邻接多重表、边集数组)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包