存圖-深度理解鏈式前向星
阿新 • • 發佈:2018-11-08
前向星
在接觸鏈式前向星之前,先了解一下什麼是前向星。
前向星就是一種邊集陣列。我們先把每條邊的起點按照從小到大的順序排序如果起點一樣,那麼就按照終點從小到達來排
序。並記錄下以某個點為起點的所有邊在陣列中的起始位置和邊的數量,那麼前向星就構造好了。
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