首頁 > 後端開發 > C++ > 主體

二元堆的數組表示

PHPz
發布: 2023-09-04 22:45:05
轉載
701 人瀏覽過

遵循堆排序屬性的完全二元樹稱為二元堆

根據二元堆的排序方式,它可以分為兩種類型:

最小堆是節點的值大於或等於其父節點的值的堆。最小堆的根節點最小。

最大堆是節點的值小於或等於其父節點的值的堆。最大堆的根節點最大。

二元堆的值通常表示為一個陣列。二元堆的陣列表示如下:

  • 根元素的索引為0。

  • 如果i是數組中節點的索引,則與該節點相關的其他節點的索引如下:

    • 左孩子:(2 *i) 1

    • 右子女:(2*i) 2

    • 父節點:(i-1)/2

使用上述陣列表示規則,我們可以將堆疊表示為陣列:

二元堆的數組表示

##1478#911現在,我們可以討論基於排序的堆的型別:
##12

  • 最小堆

    - 根節點具有最小值。節點的值大於父節點的值。

  • 範例:

二元堆的數組表示

#陣列表示:

1##10 #8
4 7 6 9
    最大堆
  • - 根節點具有最大值。節點的值小於父節點的值。

    範例:

二元堆的數組表示

#陣列表示:

1189#6##5 #1
##4 #

以上是二元堆的數組表示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板