簡體   English   中英

linkedList 是一個棧嗎? 堆棧數據結構的最佳實現是什么

[英]Is linkedList a stack? what is the best implementation of stack data structure

我注意到 linkedList 有一些方法,比如 pop 和 push。 通常,如果我想使用堆棧(FILO)的特性,那么 linkedList 會是最好的選擇嗎?

LinkedList可以工作,實際上實現了JDK中最像堆棧的接口Deque

ArrayDeque是另一個主要的非線程安全實現,如果您只需要堆棧操作, 它可能更有效 Deque的上述鏈接列出了其他兩個JDK提供的實現,它們是線程安全的。

實現堆棧的方法沒有好壞之分,但它們具有不同的優點。

基於鏈表的實現使您可以更靈活地控制容器的容量,因為理論上您總是可以向其中添加更多元素。 基於數組的堆棧在容量方面更受限制。 但是,鏈表意味着更多的空間開銷,因為您需要存儲對其他節點的引用。

在性能方面,使用堆棧您只能訪問頂部元素,這意味着您不需要數組為您提供鏈表的隨機訪問功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM