邻接表
对于一张图:
他的邻接表表表示出来是这样的:
而链式前向星就是邻接表表示的图存入数组
链式前向星:
对于上面这张图,建立点集和边集:d
/*
V:
idx 1 2 3 4 5
---------
next 0 0 0 0 0
E:
idx 1 2 3 4 5 6 7
-------------
out 0 0 0 0 0 0 0
next 0 0 0 0 0 0 0
*/
对于点集V:
- idx表示点集中点的位置下标,同时表示点的编号
- id表示点的编号
- next的数值表示边集中边的idx
对于边集E:
- idx表示边在边集中位置的编号
- out表示边指向的点
- next表示由同一个点指出的下一条边
创建完成之后的点集和边集为:
/*
V:
idx 1 2 3 4 5
---------
next 1 3 5 7 0
E:
idx 1 2 3 4 5 6 7
-------------
out 2 3 4 5 2 4 5
next 2 0 4 0 6 0 0
*/
可以看作是合并在一起的链表,而链表的next不再是指针而是数组下标