408第一季 - 數據結構 - 平衡二叉樹

平衡二叉樹

定義

縮寫記一下 AVL

還有下面這些,can you try?

平衡二叉樹的插入

LL平衡旋轉(右單旋轉)

怎么理解?

首先我們可以看見啊,b圖A左邊和右邊的不平衡的,非常的難受

于是我們可以這么做,因為A的左邊比右邊多,所以B和A交換位置,這樣就會出現一個問題,B的左邊繼續寫BL沒問題,A的右邊繼續寫AR沒問題,那BR放哪里呢,BR放在A的左邊我的朋友,因為A的左邊本來就是有東西的

然后BR仍然是大于B小于A的

RR平衡旋轉(左單旋轉)

一樣,就是哪邊多,你就往相反的方向旋,這里右邊多,就往左旋,

LR平衡旋轉(先左后右雙旋轉)

這里直接看b圖是怎么直接到c圖的?

這里LR的意思是先左 到B 再右道 BR,這里會多一個

哪邊多,你就往相反的方向旋,這里右邊多,左旋

然后這里除了CLANNAD照搬不了,其他的都照搬

然后B的右邊原來就是有東西的,所以再放一下CL

然后再把沒用到的A先畫出來

然后就左邊多,就往右旋,C上去,A到右邊下來

最后照搬變成書上的c圖,A的右邊照搬是AR,C的右邊照搬是B的全部,然后原本C的CR無法照搬,而A的左邊原本就應該有東西,所以CR放A左邊

RL平衡旋轉(先右后左雙旋轉)

這個也是不多說了,原理一樣

最小不平衡子樹

這里的意思是這里有2個節點不平衡了,也就是27和75,然后只要把最下面的調好,27這個也就自動調好了

逗你一笑小例子

然后112會插在

然后發現120和100不平衡了,然后你只要處理最下面的120就行了

然后開始做

繼續

好了,就這樣

最后,其他的不用變

然后就有人說了,主播有沒有更簡單的方法,有的兄弟有的

先往你插入的地方從上往下數3個

然后把大小是中間的數寫在中間,這里就是115,然后左邊是110,右邊的120

然后剩下的按大小來寫

然后再也不用旋了,一步到位

做題

1

?

c

2

d?

3

題目意思是 每次加一個,不平衡的話就旋轉

?

d

4

這個是二叉排序樹,注意

c

平衡二叉樹的刪除

過程

這里刪的是32,刪了之后就不平衡了,然后之前我們是往插入的地方走,現在就是看哪邊地方大往哪邊走,然后開旋

做題

1

?

a

平衡二叉樹的查找

?

這個圖看T3,T3左邊是T1,右邊是T2,所以可以看見,如果下面本就是平衡的,那只用加一個節點就可以即加深度又是平衡的,這里T4就是T2+T3+1的節點和他的四層深度

所以這個公式就不用記了,可以直接推出來

注意這里是要求最大深度,比如7個節點既可以是4層也可以是3層

做題

1

1? 2? 4? 7? 12? 20?

b

2

11題 c秒,最大深度注意

12題 b秒,至少注意

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84968.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84968.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84968.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VR 地震安全演練:“透視” 地震,筑牢企業安全新護盾?

與傳統的地震安全教育方式相比,VR 地震安全技術具有無可比擬的優勢。在過去漫長的歲月里,我們主要依賴書本、講座和視頻等較為常規的手段來了解地震知識和逃生技巧。? 書本上密密麻麻的文字以及靜態的圖片,雖然能夠較為系統地傳遞理論性的信…

30-Oracle 23ai-回顧從前的Flashback設置

配置和測試了Oracle 23 ai的Flashback Log Placement后, 剛好身邊11g,19c的環境都在,還是把從前的flashback整理下,溫故知新,循序漸進。 一、閃回技術 Flashback Database 允許將整個數據庫回退到過去的某個時間點/SCN&#xff…

Gartner《Reference Architecture for Federated Analytics》學習心得

研究背景 隨著分析平臺越來越易于被廣泛用戶使用,以及組織內用例的不斷增多和多樣化,分析架構的去中心化給專注于架構的分析專家帶來了混亂。組織在交付一致、可復用和可信的分析方面面臨挑戰,分布式分析架構需要在控制和敏捷之間取得平衡,然而許多組織在這方面的控制力不…

Windows下Docker一鍵部署Dify教程

Windows環境下Docker部署Dify完整指南 📋 目錄 系統要求Docker安裝驗證Docker安裝Dify部署訪問Dify常見問題管理命令 🖥? 系統要求 在開始安裝之前,請確保你的Windows系統滿足以下要求: 硬件要求 CPU: > 2核心內存: >…

idea maven打包很慢,怎么提速-多線程

作為一個技術運維人員,經常要更新程序然后重新打包發布jar包。由于程序子模塊多,需要相互引用每次打包的時候都需要很久,怎么可以讓打包快一點呢?可以啟動打包的多線程。請參照下圖設置,線程數量應該和cpu內核數量要能…

Java/Kotlin selenium 無頭瀏覽器 [Headless Chrome] 實現長截圖 三種方式

在自動化測試和網頁抓取中,完整捕獲整個頁面內容是常見需求。傳統截圖只能捕獲當前視窗內容,無法獲取超出可視區域的頁面部分。長截圖技術通過截取整個滾動頁面解決了這個問題,特別適用于: 保存完整網頁存檔生成頁面可視化報告驗…

【AI大模型】Elasticsearch9 + 通義大模型實現語義檢索操作詳解

目錄 一、前言 二、Elasticsearch9 語義檢索介紹 2.1 ES9 語義檢索核心特性 2.2 semantic_text 字段類型說明 2.3 ES9 語義檢索原理 2.4 ES9 語義檢索優勢與使用場景 三、 Elasticsearch9 搭建過程 3.1 環境說明 3.2 部署方式一 3.2.1 創建docker網絡 3.2.2 獲取es9鏡…

linux開機原理以及如何開關機-linux023

linux開機原理以及如何開關機 Linux 系統啟動過程概述 階段描述內核引導啟動時,BIOS執行自檢,啟動設備通常是硬盤。操作系統接管硬件后,讀取/boot目錄下的內核文件。運行 initinit是系統所有進程的起點,負責啟動其他進程。它讀取…

使用 socat 和 xinetd 將程序綁定到端口運行

在現代網絡應用開發和系統管理中,經常需要將某些程序或腳本綁定到特定的網絡端口上,以實現遠程訪問或服務化。例如,一個簡單的 Python 腳本可能需要通過 TCP 端口提供服務,或者一個命令行工具需要通過網絡接口暴露其功能。為了實現…

電阻篇---上拉電阻

一、上拉電阻的定義與本質 定義:上拉電阻是一端連接到電源(VCC),另一端連接到電路節點的電阻元件,其核心作用是將該節點的電平 “拉” 至電源電壓,使其在無信號輸入時保持穩定的高電平狀態。 本質原理&…

前端持續集成和持續部署簡介

持續集成(CI):代碼提交后自動觸發構建、靜態檢查、單元測試,確保代碼質量。 持續部署(CD):通過流水線將測試通過的代碼自動發布到測試/生產環境,減少人工操作失誤。 CI/CD 工具鏈 …

Elasticsearch高效文章搜索實踐

功能 創建索引和映射 使用postman添加映射和查詢 查詢所有的文章信息,批量導入到es索引庫中 server:port: 9999 spring:application:name: es-articledatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/leadnews_article?useU…

React 中除了react-router還有哪些路由方案

在用React開發時,常用的路由是react-router ,但除此之外,還有兩個路由方案,因為他們具備 react-router 沒有的特性。 1. tanstack/router 1.1. 主要特性 100% 推斷的 TypeScript 支持 類型安全的導航 嵌套路由和布局路由 內置…

VINS-Fusion 簡介、安裝、編譯、數據集/相機實測

目錄 VINS-Fusion 簡介 安裝 VINS-Fusion 源碼安裝 運行數據集 雙目模式 單目IMU 模式 雙目IMU 模式 D455 相機實際運行 雙目IMU 模式 VINS-Fusion 簡介 VINS-Fusion 是繼 VINS-Mono 和 VINS-Mobile(單目視覺慣導 SLAM 方案)后,香港科 技大學…

SQL Developer 表復制

SQL Developer 表復制 此方法在數據量比較大時,比一條一條的insert要快得多;具體是會覆蓋掉原數據,還是增量的處理,請自行創建demo表測試一下。 注意:原庫版本要與目標庫數據庫版本一致,否則可能會報錯的。…

影視劇學經典系列-梁祝-《呂氏春秋·應同》

1、背景 07版電視劇《梁山伯與祝英臺》中,謝道韞作為先生,給學生講了其中的句子。 2、名言 君為尊,以白為黑,臣不能從;父雖親,以黑為白,子不能從”出自《呂氏春秋應同》 其意為,…

異步爬蟲---

代碼結構分析 這是一個同步新聞爬蟲程序,主要包含以下幾個部分: 們把爬蟲設計為一個類,類在初始化時,連接數據庫,初始化logger,創建網址池,加載hubs并設置到網址池。 爬蟲開始運行的入口就是r…

微服務架構中的 Kafka:異步通信與服務解耦(二)

三、Kafka 基礎入門 3.1 Kafka 是什么 Kafka 最初由 LinkedIn 公司開發,是一個開源的分布式事件流平臺,后成為 Apache 基金會的頂級項目 。它不僅僅是一個簡單的消息隊列,更是一個分布式流處理平臺,具備強大的消息隊列、存儲系統…

Lighthouse與首屏優化

之前提到首屏優化,想到的就是Vue項目首頁打開很慢需要優化。一般都是肉眼看看,對當前的加載速度并沒有一個準確的衡量標準,也沒有很清晰的解決思路。 前兩天我想給自己的網站申請谷歌廣告,聽說審核對網站的性能要求很高。于是網上…