卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章17355本站已运行3326

二叉堆的数组表示

遵循堆排序属性的完全二叉树称为二叉堆

根据二叉堆的排序方式,它可以分为两种类型:

最小堆是节点的值大于或等于其父节点的值的堆。最小堆的根节点最小。

最大堆是节点的值小于或等于其父节点的值的堆。最大堆的根节点最大。

二叉堆的值通常表示为一个数组。二叉堆的数组表示如下:

  • 根元素的索引为0。

  • 如果i是数组中节点的索引,则与该节点相关的其他节点的索引如下:

    • 左孩子:(2*i)+1

    • 右孩子:(2*i)+2

    • 父节点:(i-1)/2

使用上述数组表示规则,我们可以将堆表示为数组:

二叉堆的数组表示

147891112

现在,我们可以讨论基于排序的堆的类型:

  • 最小堆 - 根节点具有最小值。节点的值大于父节点的值。

示例:

二叉堆的数组表示

数组表示:

14769108
  • 最大堆 - 根节点具有最大值。节点的值小于父节点的值。

示例:

二叉堆的数组表示

数组表示:

11896451
卓越飞翔博客
上一篇: 在C程序中,将句子中最长的回文单词打印出来
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏