堆
堆(heap)通常是乙個可以被看做一棵樹的陣列物件。
堆總是滿足下列性質:
堆支援以下的基本操作:
左偏樹左偏樹(leftist tree)是一種可並堆的實現。
左偏樹是一棵二叉樹,它的節點除了和二叉樹的節點一樣具有左右子樹指標( left, right)外,還有兩個屬性,鍵值和距離(dist)。
它不但要滿足堆性質,也同時要滿足左偏性質
即任意乙個點的左子dist大於等於右子dist
因為它的性質針對每乙個節點 所以左偏樹的任意乙個子樹也是左偏樹
1合併int merge(int x, int
y)
1刪除堆頂void erase(int
x)
斐波那契堆(然鵝並不會
資料結構 2
2016 02 06 17 38 指標和陣列 指標和一維陣列 陣列名一維陣列名是個指標常量,它存放的是一維陣列第乙個元素的位址,它的值不能被改變 一維陣列名指向的是陣列的第乙個元素 下標和指標的關係 a i a i 假設指標變數的名字為p 則p i的值是p i p所指向的變數所佔的位元組數 指標變數...
資料結構2
定義 只允許在一端插入和刪除的線性表 允許插入和刪除的一端稱為棧頂 top 另一端稱為棧底 bottom 特點後進先出 lifo 棧的棧的主要操作 棧的主要操作主要操作 棧的主要操作 adtstack 棧的陣列表示 順序棧 define stacksize 100typedef char stack...
資料結構 2
class queue object 佇列 雙端佇列 def init self 私有化,封裝 self.queue def enqueue self item 從尾部往佇列中新增乙個元素 def enqueue start self item 從頭部新增元素 雙 self.queue.insert...