2 回答

TA貢獻1831條經驗 獲得超4個贊
沒有錯啊,雙向鏈表是一條線,線的每兩個挨著的節點互相連接的,就是說第一個節點指向第二個,第二個節點指向第一個和第三個,第三個節點指向第二個和第四個... 倒數第一個節點指向倒數第二個和第一個。
而循環鏈表是每兩個挨著的節點只有前一個指向后一個,并不是互相連接的,也就是說第一個節點指向第二個,第二個節點指向第三個,第三個節點指向第四個... 倒是第一個節點只指向第一個。
這樣下來,如果有n個節點,雙向鏈表的連接數是2(n-1),循環鏈表的連接數是n。

TA貢獻1895條經驗 獲得超7個贊
英文原文是這樣的:
The reason you might want to create a circularly linked list is if you want the ability to go backward through a list but don’t want the extra overhead of creating a doubly linked list. You can move backward through a circularly linked list by moving forward through the end of the list to the node you are trying to reach.
個人認為此處中文翻譯可能不太合適。
總之就是說循環鏈表最后一個節點的后繼節點是第一個節點,從最后一個節點再往后移動,就到了第一個節點,可以重新遍歷一次找到你要的節點的意思。
我自己的渣翻,改自谷歌翻譯:
您可能想要創建循環鏈表的原因是:您希望向前訪問鏈表,但不希望負擔創建雙向鏈表的額外開銷。您可以在循環鏈表中向后移動直到超過最后一個節點(然后繼續向后移動)來找到你需要達到的節點。
添加回答
舉報