1. 程式人生 > >存圖-深度理解鏈式前向星

存圖-深度理解鏈式前向星

前向星

在接觸鏈式前向星之前,先了解一下什麼是前向星。

前向星就是一種邊集陣列。我們先把每條邊的起點按照從小到大的順序排序如果起點一樣,那麼就按照終點從小到達來排

序。並記錄下以某個點為起點的所有邊在陣列中的起始位置和邊的數量,那麼前向星就構造好了。

head[i]表示以i為起點的邊在陣列中儲存的第一個位置,

len[i]表示以i為起點的邊的條數。

我們輸入邊的順序為:

1 2

2 3

3 4

4 5

4 1

1 3

1 5

經過排序後得到: 

編號 起點u 終點v
1 1 2
2 1 3
3 1 5
4 2 3
5 3 4
6 4 1
7 4 5

 得到:

head[1] = 1    len[1] = 3

head[2] = 4    len[2] = 1

head[3] = 5    len[3] = 1

head[4] = 6    len[4] = 2