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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++创建二叉树_数据结构:查找(4)|| 平衡二叉树

發布時間:2025/3/15 c/c++ 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++创建二叉树_数据结构:查找(4)|| 平衡二叉树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在介紹平衡二叉樹之前,應該先了解平衡因子的概念,平衡因子定義為左子樹深度減去右子樹深度,這個值的絕對值越大,非常容易理解它就對應著越不平衡的情況。一棵平衡的二叉樹的平衡因子只能是1,0,-1

如何構建一棵平衡二叉樹呢?

對一棵平衡的二叉樹進行插入操作,插入后,可能導致不平衡,對不平衡的二叉樹應該進行旋轉操作,將其旋轉為平衡二叉樹。平衡二叉樹應該具有二叉樹的性質的同時滿足平衡條件。

如何進行旋轉操作?

旋轉操作實際上是對不平衡部分進行再調整的過程。

是對二叉樹的局部重排。

書上將旋轉操作劃分為4種情況,并分別用了幾個看不懂的圖和介紹來試圖讓我們搞懂,我重新畫了一個圖,介紹在插入C結點后需要進行局部調整時如何進行旋轉。

如圖黃色框區域,需要進行局部調整

局部調整由排列組合,共有以下四種情況

有了以上的理論基礎我們就可以寫出

在平衡二叉樹上插入新元素e的遞歸算法

①(創建新樹,遞歸出口1)若原二叉樹為空樹,則插入結點為根節點,樹的深度加1

②(查找存在,遞歸出口2)若e的關鍵字和根節點的關鍵字相同,停止插入

③(查找不存在,執行插入,遞歸出口3)插入

③.①?插入過程,需要更新結點的平衡因子,深度出現異常進行旋轉

④(遞歸入口)進入左子樹或右子樹,在左/右子樹插入C

有了以上的講解,寫出想要的代碼就不是什么難事啦~

挖坑:

接下來一周,將盡量完成B樹、鍵樹、哈希表

考試周期間對數據結構進行系統復習時,將補上圖、內外排序部分的內容

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

總結

以上是生活随笔為你收集整理的c++创建二叉树_数据结构:查找(4)|| 平衡二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。

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