日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

最详细的最小堆构建、插入、删除的过程图解

發布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最详细的最小堆构建、插入、删除的过程图解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載:http://blog.csdn.net/hrn1216/article/details/51465270

1.簡介

? ? ? ?最小堆是一棵完全二叉樹,非葉子結點的值不大于左孩子和右孩子的值。本文以圖解的方式,說明

最小堆的構建、插入、刪除的過程。搞懂最小堆的相應知識后,最大堆與此類似。

2.最小堆示例

3.最小堆的構建

? ? ? 初始數組為:9,3,7,6,5,1,10,2

? ? ? 按照完全二叉樹,將數字依次填入。

? ? ? 填入后,找到最后一個結點(本示例為數字2的節點),從它的父節點(本示例為數字6的節點)

開始調整。根據性質,小的數字往上移動;至此,第1次調整完成。

? ? ? 注意,被調整的節點,還有子節點的情況,需要遞歸進行調整。

? ? ? 第二次調整,是數字6的節點數組下標小1的節點(比數字6的下標小1的節點是數字7的節點),

用剛才的規則進行調整。以此類推,直到調整到根節點。

? ? ? 以下是本示例的圖解:



注意:數字9的節點 將和 數字1的節點 發生對調,對調后,需要遞歸進行調整,請一定注意。


4.最小堆的元素插入

? ? ? ?以上個最小堆為例,插入數字0。

? ? ? ?數字0的節點首先加入到該二叉樹最后的一個節點,依據最小堆的定義,自底向上,遞歸調整。

? ? ? ?以下是插入操作的圖解:



5.最小堆的節點刪除

? ? ? ?對于最小堆和最大堆而言,刪除是針對于根節點而言。

? ? ? ?對于刪除操作,將二叉樹的最后一個節點替換到根節點,然后自頂向下,遞歸調整。

? ? ? ?以下是圖解:





創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的最详细的最小堆构建、插入、删除的过程图解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。