我正在閱讀C#簡而言之,本書提到了Queue數據結構的底層實現使用了根據需要調整大小的數組。這個調整大小當然會有成本,所以我想知道使用它的理由是什麼,說雙鏈表是什麼?鑑於我們只關心第一個和最後一個元素,並且雙鏈表比數組更有效地調整大小,爲什麼要使用數組?一個數組會佔用較少的內存,但這是唯一的基本原理嗎?爲什麼.NET中隊列的底層實現使用數組?
編輯: 對不起,才意識到這是這幾乎是完全相同的副本: Why are Stack<T> and Queue<T> implemented with an array? (他們的問題,甚至來自同一本書來了)。無論如何感謝您的答案!
你可以嘗試正確地實現這兩個,看看哪個實現更容易證明的辦法正常工作,給自己回答這個問題... –
@AlexeiLevenkov或者只是比較性能... – Servy
@Servy - 不錯的選擇。請注意,比較性能可能並不容易 - 合理的實現將具有相同的O(1)操作時間,並且需要知道很多GC以正確測量該部分的性能成本... –