2014-07-16 42 views

回答

5

大概是因爲沒有人打擾寫一個。至於爲什麼沒有人這樣做......

已經有一個雙向鏈表。 只有單個鏈接列表的實際優勢是每個節點使用一個較少的指針,這並不是那麼重要。如果空間使用率很重要,那麼您可能會使用Vec或類似的數據結構。 Vec的超額分配由每個節點的開銷(指針以及分配器開銷)平衡,特別是對於小項目(整數,指針等)。

此外,鏈接列表通常並不像人們可能認爲的那樣有用,因爲CS 102,Vec等常常是更好的選擇。少數漸近較快的操作相對較少,因爲所有漸近平等的操作都會由於數據局部性而丟失,即使漸近式操作的速度更快,也需要令人驚訝的大n來克服數據局部性的缺點。

+5

用某種多重指針類型實現的單鏈表允許像Haskell一樣持久化/共享尾部。 – huon

+0

@dbaupp好點。我再次強制性地思考。 – delnan

相關問題