欢迎转载,转载时请注明出处和作者联系方式
文章出处: http://blog.youkuaiyun.com/shaojieli
文章出处: http://blog.youkuaiyun.com/shaojieli
作者联系方式:李少杰 <lishaojie@126.com>
一、邻接矩阵
1.)无向图邻接矩阵
优点:
(1.)很容易判断两点之间是否有边。
(2.)很容易判断顶点的入度和出度。
(3.)很容易求得一个顶点的邻接点。
缺点:
(1.)浪费空间。
2.)有向图邻接矩阵
3.)带权值的有向图邻接矩阵
二、邻接表
缺点:
(1)同时求出度和入度比较难。

三、十字链表
邻接表是有缺陷的,关心了出度的问题,想了解入度就必须遍历整个图才能知道,反之,逆邻接表解决了入度却不了解出度的情况。十字链表就是解决这个问题的一种有向图存储方法。
四、邻接多重表
如果我们在无向图的应用中,关注的重点是顶点,那么邻接表是不错的选择,但如果我们更关注边的操作,比如对已访问过的边做标记,删除某一条边等操作,需要找到这条边的两个边表结点进行操作,邻接多重表就是解决这个问题的。
注意:ilink指向的结点jnode一定要和它本身的inode的值相同。
五、边集数组
边集数组关注的是边的组集合,在边集数组中要查找一个顶点的度需要扫描整个边数组,效率并不高。因此它更适合对边依次进行处理的操作,而不适合对顶点的相关操作。