堆的定義、使用數組實現堆的建立、調整、刪除和插入、堆排序

堆的定義 堆是一棵徹底二叉樹,而且樹中的每個結點的值都不小於(或者不大於)其左右孩子結點的值。分爲兩種:大頂堆:父親結點的值不小於(大於或者等於)其左右孩子結點的值。小頂堆:父親結點的值不大於(小於或者大於)其左右孩子結點的值。堆通常藉助於優先隊列來實現(前面已經寫過了優先隊列的文章),今天咱們將會以數組實現大頂堆爲例。 1. 首先實現向下調整函數: 老是將結點x和它的左右孩子(若是存在的話)進行
相關文章
相關標籤/搜索