遵循堆排序屬性的完全二元樹稱為二元堆。
根據二元堆的排序方式,它可以分為兩種類型:
最小堆是節點的值大於或等於其父節點的值的堆。最小堆的根節點最小。
最大堆是節點的值小於或等於其父節點的值的堆。最大堆的根節點最大。
二元堆的值通常表示為一個陣列。二元堆的陣列表示如下:
根元素的索引為0。
如果i是數組中節點的索引,則與該節點相關的其他節點的索引如下:
左孩子:(2 *i) 1
右子女:(2*i) 2
父節點:(i-1)/2
使用上述陣列表示規則,我們可以將堆疊表示為陣列:
4 | 7 | 8 | #9 | 11 | ##12 |
- 根節點具有最小值。節點的值大於父節點的值。
#陣列表示:
4 | 7 | 6 | 9 | ##10#8 |
範例:
9 | #6 | ##4 | ##5#1 | # |
以上是二元堆的數組表示的詳細內容。更多資訊請關注PHP中文網其他相關文章!