遵循堆排序属性的完全二叉树称为二叉堆。
根据二叉堆的排序方式,它可以分为两种类型:
最小堆是节点的值大于或等于其父节点的值的堆。最小堆的根节点最小。
最大堆是节点的值小于或等于其父节点的值的堆。最大堆的根节点最大。
二叉堆的值通常表示为一个数组。二叉堆的数组表示如下:
根元素的索引为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 |
以上就是二叉堆的数组表示的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号