二叉堆的陣列表示
遵循堆排序屬性的完全二叉樹稱為**二叉堆**。
根據二叉堆的排序,它可以分為兩種型別:
**最小堆**是指節點的值大於或等於其父節點值的堆。最小堆的根節點值最小。
**最大堆**是指節點的值小於或等於其父節點值的堆。最大堆的根節點值最大。
二叉堆的值通常表示為**陣列**。二叉堆的陣列表示如下:
根元素的索引為0。
如果i是陣列中節點的索引,則與該節點相關的其他節點在陣列中的索引為:
左孩子:(2*i)+1
右孩子:(2*i)+2
父節點:(i-1)/2
使用上述陣列表示規則,我們可以用陣列表示堆:

| 1 | 4 | 7 | 8 | 9 | 11 | 12 |
現在,我們可以討論基於排序型別的堆:
**最小堆** - 根節點具有最小值。節點的值大於父節點的值。
示例:

陣列表示:
| 1 | 4 | 7 | 6 | 9 | 10 | 8 |
**最大堆** - 根節點具有最大值。節點的值小於父節點的值。
示例:

陣列表示:
| 11 | 8 | 9 | 6 | 4 | 5 | 1 |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP