菜鸟学算法之--图的存储结构

欢迎转载,转载时请注明出处和作者联系方式
文章出处: http://blog.csdn.net/shaojieli

作者联系方式:李少杰 <lishaojie@126.com>


一、邻接矩阵


1.)无向图邻接矩阵

优点:

(1.)很容易判断两点之间是否有边。

(2.)很容易判断顶点的入度和出度。

(3.)很容易求得一个顶点的邻接点。

缺点:

(1.)浪费空间。

2.)有向图邻接矩阵

3.)带权值的有向图邻接矩阵

二、邻接表

缺点:

(1)同时求出度和入度比较难。

三、十字链表

邻接表是有缺陷的,关心了出度的问题,想了解入度就必须遍历整个图才能知道,反之,逆邻接表解决了入度却不了解出度的情况。十字链表就是解决这个问题的一种有向图存储方法。


四、邻接多重表

如果我们在无向图的应用中,关注的重点是顶点,那么邻接表是不错的选择,但如果我们更关注边的操作,比如对已访问过的边做标记,删除某一条边等操作,需要找到这条边的两个边表结点进行操作,邻接多重表就是解决这个问题的。


注意:ilink指向的结点jnode一定要和它本身的inode的值相同。


五、边集数组


边集数组关注的是边的组集合,在边集数组中要查找一个顶点的度需要扫描整个边数组,效率并不高。因此它更适合对边依次进行处理的操作,而不适合对顶点的相关操作。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值