算法 之 堆 - 簡介

在許多算法中,需要支持下面兩種元素運算的數據結構:插入元素和尋找最大值元素。支持這兩種運算的數據結構稱爲優先隊列。 如果使用普通隊列,那麼尋找最大元素需要搜索整個隊列,開銷比較大;如果採用排序數組,那麼插入運算就需要移動很多元素,開銷也會比較大。優先隊列的有效實現是使用一種稱爲堆的簡單數據結構。   一個(二叉)堆是一個幾乎完全的二叉樹,它的每個節點都滿足堆的特性:如果v和p(v)分別是節點和它的
相關文章
相關標籤/搜索