【数据结构与算法】浅析堆栈以及数据结构的堆和栈
生活随笔
收集整理的這篇文章主要介紹了
【数据结构与算法】浅析堆栈以及数据结构的堆和栈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據結構中的堆和棧
學過數據結構的猿兄們都知道棧和堆,這可是基本的數據結構了。
棧(stack)
先說說棧吧。
棧是一種插入刪除只能在一個地方的受限制的線性表。
這個位置就是表的一端(末端),被稱為棧頂。
表的另一端稱為棧底,棧底是不做處理的。
棧只能在一端插入刪除,故而有后進先出(LIFO)的特點。
入棧被稱為push,出棧被稱為pop。
由于棧是特殊的線性表(都是邏輯結構),那么其存儲結構就有順序和鏈式兩種,稱為順序棧和鏈棧。
下面分別是我用Java簡單實現的兩種結構:
順序棧實現
鏈棧實現
以Java自身為例,Java就提供了java.util.Stack類,繼承自Vector類(也就是說Java直接提供的是順序棧),提供了下面的方法操作:
- push():入棧
- pop():出棧
- peek():取棧頂元素(不出棧)
- empty():判空
- search(Object o):查找元素位置
更強的Deque接口也可以實現棧的功能(既可以當棧也可以當隊列)。
……
總結
以上是生活随笔為你收集整理的【数据结构与算法】浅析堆栈以及数据结构的堆和栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java】Eclipse输入命令行参数
- 下一篇: 【数据结构与算法】判断单链表是否有环的算