Chapter 9 高度平衡二元搜尋樹 AVL Binary Search Tree

Slides:



Advertisements
Similar presentations
酒店绩效考核攻略 一 业务流程再造 管理环节突破 利润急速倍增 专为您企业量身裁衣服务 突破导师 : 周忠亭副教授 北京大学管理案例研究 中心特聘餐饮讲师 北洋战略研究院研究员 北大时代光华高级讲师 中国十大餐饮管理讲师 中华酒店管理专家教授 教育部首批中国餐饮经理人 师资成员.
Advertisements

人力资源工作总结 行政部 人力资源部年度工作 一方面通过招聘管理、劳动合同管理、 入离职管理等,确保各项人事管理工作 的合法性、规范性. 另一方面通过建立员工培训计划,加强 企业文化的贯彻和渗透,提升员工的凝 聚力和归属感,提升员工的敬业度。
组长:倪运超 小组成员:徐悦、曹吕卿、孙浩、徐圣尧.  上海的历史 上海的历史  上海的历史 上海的历史  上海的文化 —— 建筑 上海的文化 —— 建筑  上海的文化 —— 美食 上海的文化 —— 美食  香港的历史 香港的历史  香港的历史 香港的历史  香港的文化 —— 建筑 香港的文化.
配樂:夢的序曲 ( 鋼琴 ) 雁蕩山因山頂有湖,蘆葦茂密,結草為湯,南歸秋雁多宿於此,故名雁蕩。始於 南北朝,興於唐,盛於宋,雁蕩山來晚了一步,未能在 “ 五岳 ” 中占得一席之地。 沒有金碧輝煌的涂飾,村野之山的雁蕩倒因此多了份瀟灑風神。
1 第八章 深入探討樹狀結構. 2 目次 8.1 m-way 搜尋樹 8.2 B-tree 8.3 動動腦時間 8.4 練習題解答.
會計學 Chapter 1 基本概念 1-2 基本概念 第一節 單式簿記 第二節 會計學的定義與功用 第三節 會計學術與會計人員 第四節 企業組織 第五節 會計學基本第五節 會計學基本慣例 第六節 會計方程式 第七節 財務報表.
Chapter 5 教育發展與職業選擇. 1. 認識高職學生的生涯進路。 2. 了解個人特質與職業屬性之 間的關係。 3. 認識打工安全與勞動權益。
一、 突出解析几何复习中的重点问题的通法通解 解析几何中的重点问题 一、 突出解析几何复习中的重点问题的通法通解 直线与圆锥曲线的位置关系 重点一.
1. 法律學系助教群: 大學部助教 徐碧霜 行政助教 葉靜芳 研究所助教 阮博謙 台中 法政學院 1. 台北 法商學院 民國 50 年 中興大學合併法商學院法律系 民國 89 年 法商學院改制為台北大學.
第一节 职业基础知识 第二节 社会需要剖析 第三节 用人单位认知
600年前,鄭和率領世界上最強大的艦隊,浩浩蕩蕩的駛入印度洋,展開一場「文化帝國」的海上大秀。
第十三章 中国的传统科学技术 中国古代的科技曾经长期处于世界领先地位,对人类文明的进步作出过重要贡献,并形成了富有特色的科技文化。在今天,源自中国古代科技文化的中医学仍然在现实生活中发挥着积极的作用。
小 王 子 組別:第五組 班級:財金二甲 組員:A 林安潔 A 陳思羽 A 許雅涵
11-1 保險業之定義 11-2 保險業之設立 11-3 保險業之組織 11-4 保險業之營業範圍
9-1 火災保險 9-2 海上保險 9-3 陸空保險 9-4 責任保險 9-5 保證保險 9-6 其他財產保險
说课课件 感悟工业革命力量,闪耀科技创新光辉 ----《走向整体的世界》教学设计及反思 爱迪生 西门子 卡尔·本茨 诺贝尔 学军中学 颜先辉.
《疯 娘》 --100个人看后99个人会落泪的故事 图文:网络
简历制作技巧 **********学院 *****.
資料結構 老師:李崇明 助教:楊斯竣.
Tree (2): heap, deap, 2-3 tree, 2-3-4tree
Chapter 6 樹狀結構.
新世代計算機概論 第15章 資料結構.
2015届就业指导课程教学大纲介绍.
槍砲病菌與鋼鐵 第三組.
Chapter 5 樹狀結構.
岡山區103年第12次 登革熱聯繫會報會議 岡山區公所 103年12月30日 1.
雄伟的金字塔.
美国史 美利坚合众国创造了一个人类建国史的奇迹,在短短230年的时间从一个被英帝国奴役的殖民地到成为驾驭全世界的“超级大国”、“世界警察”,美国的探索为人类的发展提供了很宝贵的经验。
導覽解說與環境教育 CHAPTER 3 解說員.
財務報表的內容 四種報表格式 財務報表的補充說明 會計師簽證的重要性 合併報表 財務報表分析 Chapter 2 財務報表的內容.
老師 製作 法律與生活.
大学生就业指导 第二讲 求职信息收集和自荐材料的准备.
第十七章休閒農業之經營策略與成功之道 17 Chapter.
Chapter 2 勞工安全衛生法.
2012年度人力资源部工作总结
第八章 查找.
执行《劳动合同法》中 应当注意的十大问题.
風險分析與財務結構 瞭解風險的定義與種類 衡量企業風險與財務風險 影響企業風險的因素 影響財務風險的因素 以現金流量衡量企業長期的財務狀況
國際行銷管理 林 建 煌 著.
开 学 第 一 课 六年级3班.
第一節 知覺 第二節 認知 第三節 學習 第四節 創造力
CHAPTER 2 綜合所得稅之架構.
第7章 樹與二元樹 (Trees and Binary Trees)
樹狀結構 Trees.
第七章 AVL搜尋樹 二元搜尋樹簡單易懂,不過有一個問題:它並非平衡樹。本章將介紹平衡的 AVL 搜尋樹,討論它的資料結構、函式,並設計程式使用它。
第12章 樹狀搜尋結構 (Search Trees)
資料結構 第6章 樹狀結構.
港口股份有限公司东源分公司 降本增效 部门:机械队流机二班 发言人:程广州.
(Circular Linked Lists)
資料結構–樹(Tree) 綠園.
鄧姚文 資料結構 第六章:樹(Tree) 鄧姚文
Chapter 11 B-tree 11.1 m-way 搜尋樹 11.2 B-tree.
第六章 樹狀結構 T r e e 版權屬作者所有,非經作者 同意不得用於教學以外用途.
Ch 3 Dynamic Programming (動態規劃).
2-3-4 Tree and how it relates to Red Black Tree
Chap4 Tree.
資料結構使用Java 樹(Tree).
Reference to FUNDAMENTALS OF DATA STRUCTURE IN C++
心理學—日常生活中的應用 人際溝通.
資料結構與C++程式設計進階 樹狀結構(Tree) 講師:林業峻 CSIE, NTU 11/ 12, 2009.
第 八 章 高等樹 課程名稱:資料結構 授課老師:________ 2019/4/28.
Chapter 6 樹狀結構.
9.1 何謂高度平衡二元搜尋樹 9.2 AVL-tree的加入 9.3 AVL-tree的刪除
講師:郭育倫 第3章 基本資料結構 講師:郭育倫
6.1 樹狀結構的一些專有名詞 6.2 二元樹 6.3 二元樹的表示方法 6.4 二元樹的追蹤 6.5 引線二元樹 6.6 其它議題
堆積(Heap Tree) 授課老師:蕭志明.
长春科技学院 设 计 表 达 李雪梅.
Trees 授課者:驕芸.
本节内容 1. 平衡二叉树的定义 2.平衡化旋转 3.平衡二叉排序树的插入操作 昆山爱达人信息技术有限公司
JAVA 程式設計與資料結構 第十七章 Tree.
Presentation transcript:

Chapter 9 高度平衡二元搜尋樹 AVL Binary Search Tree

高度平衡二元樹 何謂高度平衡二元樹(height balanced binary tree)? 空樹(empty tree)是高度平衡二元樹 假使T不是空的二元樹,TL和TR分別是此二元樹的左子樹和右子樹,若符合下列二個條件,則稱T為高度平衡二元樹,也稱為AVL-Tree。 TL和TR亦是高度平衡二元樹, |hL-hR|≦1,其中hL及hR分別是TL和TR的高度; hL-hR為平衡因子(balanced factor,BF),在AVL-Tree中,每一節點的平衡因子為-1、0或1

高度平衡二元樹 一棵二元樹的平衡因子 hL(M)=0, hR(M)=2 hL-hR=-2 Q BF= –2 M S BF=1 P R N

高度平衡二元樹加入及其調整方式 利用加入的節點A與它最接近平衡因子絕對值大於1(|BF|>1)的節點B 高度平衡二元樹可能會因為加入或刪除某節點而造成不平衡,此時必須利用四種不同的調整方式來重建一棵AVL-tree使其平衡。 四種調整方式: LL型:加入新節點於節點s的左子樹之左子樹 RR型:加入新節點於節點s的右子樹之右子樹 LR型:加入新節點於節點s的左子樹之右子樹 RL型:加入新節點於節點s的右子樹之左子樹

高度平衡二元樹加入及其調整方式 原則: 先找到最接近新節點之平衡因子絕對值大於1(|BF|>1)的祖先節點 將其高度降低使其符合AVL的定義 LL 往右旋轉(rotate) RR 往左旋轉 LR 先右後左 RL 先左後右

高度平衡二元樹加入及其調整方式 LL型:加入新節點於節點s的左子樹之左子樹 加入30 調整 不是一棵AVL-tree 2 50 50 40 50 50 40 加入30 調整 1 40 40 30 50 不是一棵AVL-tree 30

高度平衡二元樹加入及其調整方式 例二: 加入20 調整 1 2 50 50 40 1 1 40 60 40 60 30 50 1 30 45 1 2 50 50 40 1 1 加入20 調整 40 60 40 60 30 50 1 30 45 30 45 20 45 60 20

高度平衡二元樹加入及其調整方式 RR型:加入新節點於節點s的右子樹之右子樹 此RR型與LL型大同小異,如加入前的AVL-tree為: -2 加入70 調整 60 50 50 -1 50 70 60 60 70 不是一棵AVL-tree

高度平衡二元樹加入及其調整方式 例二: 加入80 調整 -1 -2 50 50 60 -1 -1 40 60 40 60 50 70 -1 -1 -2 50 50 60 加入80 調整 -1 -1 40 60 40 60 50 70 -1 55 70 55 70 40 55 80 80

高度平衡二元樹加入及其調整方式 LR型:加入新節點於節點s的左子樹之右子樹 加入45 調整 2 50 50 45 -1 40 40 40 45

高度平衡二元樹加入及其調整方式 例二: 2 50 50 -1 加入42 40 60 40 60 1 30 45 30 45 42

高度平衡二元樹加入及其調整方式 45 調整 40 50 30 42 60

高度平衡二元樹加入及其調整方式 RL型:加入新節點於節點s的右子樹之左子樹 加入56 調整 -2 50 50 56 1 60 60 50 56

高度平衡二元樹加入及其調整方式 例二: 加入52 調整 -1 -2 50 50 56 1 40 60 40 60 50 60 1 56 70 1 40 60 40 60 50 60 1 56 70 56 70 40 52 70 52

高度平衡二元樹刪除及其調整方式 AVL-tree的刪除與二元搜尋樹的刪除相同,當刪除的動作完成後,再計算平衡因子,作適當的調整,直到平衡因子的絕對值皆小於等於1。

高度平衡二元樹刪除及其調整方式 假設存在一棵AVL-tree如左下圖,若欲刪除50,因為它為一樹葉節點,故直接刪除之,成為右下圖,刪除後再進行調整 2 -1 刪除50 調整 30 30 20 1 20 50 20 10 30 10 25 10 25 25

高度平衡二元樹刪除及其調整方式 從樹根尋找pivot點(遇到第一個BF值的絕對值大於1的節點)

高度平衡二元樹刪除及其調整方式 調整規則如下: 當pivotBF > 0 當pivotBF < 0 pivotllinkBF >= 0 LL型 pivotllinkBF <= 0 LR型 當pivotBF < 0 pivotrlinkBF >= 0 RL型 pivotrlinkBF <= 0 RR型

運作 陣列 鏈結串列 高度平衡 二元樹 搜尋 O(log n) O(n) 插入 O(1) 刪除