图的存储结构--邻接表

无向图:

无向图适合邻接表,有向图适合使用十字链表。

一个一维数组,每个数组元素存储一个链表。

链表元素的结构为:终点(弧头)下标,权值,下一个元素引用。

数组元素下标对应的顶点与 存储的链表的所有元素的终点下标对应的顶点 是互为邻接点。

如下图:

有向图:

对于有向图来说,邻接表并不适合,用十字链表更加合适。

有向图的一个邻接表要么只能表示出度的邻接关系,要么只能表示入度的邻接关系。

如果是表示出度的邻接关系,那么基本与无向图的差不多,以一维数组下标对应顶点为起点(弧尾),链表元素的终点为弧头,这样就可以表示有向图的出度关系了。。。。而入度的反过来看就行了。

猜你喜欢

转载自blog.csdn.net/qq_36951116/article/details/81221741