在維基百科中給出的堆的定義(http://en.wikipedia.org/wiki/Heap_(data_structure))是堆數據結構的精確定義是什麼?
在計算機科學中,堆是一個專門的基於樹的數據結構 滿足堆屬性:如果A是B的父節點然後 密鑰(A)相對於密鑰(B)被排序,相同的排序 適用於整個堆。父節點的密鑰總是大於或等於子節點的密鑰 ,並且根節點中的最高密鑰爲 (這種堆稱爲最大堆),或者父節點的密鑰小於或等於 (最小 堆)
該定義沒有說明樹是完整的。例如,根據這個定義,二元樹5 => 4 => 3 => 2 => 1,其中根元素爲5,並且所有後代都是正確的子元素也滿足堆性質。我想知道堆數據結構的準確定義。
我懷疑維基百科給出了確切的定義,你引用的例子是一堆。 – 2012-10-16 19:54:55
平衡不佳的二進制堆並不能阻止它成爲堆。 –