- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红黑树 可以干嘛? 是棵平衡的树: 保证从根到某个叶结点的简单路径一定不会超过从根到任何一条其它這样的路径的兩倍长 大致平衡?操作可以都在O(log2n)內完成。 操作 1. 有哪些信誉好的足球投注网站 2. 插入结点 3. 删除结点 4. 找最大或最小值 * 红黑树 每个结点都分配一个颜色: 红或黑 使用扩充二叉树: 沒有子女的地方都外上外结点, 又叫nil 规则: 1. 每个结点不是黑就是红 2. 根是黑色的 3. 每个叶结点 (external node, 或 nil)都是黑色 4. 如果一个结点是红的, 則它的子女都是黑的 5. 对每个结点來说, 从它到他的所有子孙叶子结点的路径上含有一样数目的黑色结点 * 黑高度 Black height: bh(x) = 从x到任何一个它的子孙叶子结点遇到的black 结点个数 (因为都一样, 所以可以是任何一个) 不包含结点 x自己 external 结点或nil(叶子结点)的black height为0 * 巨大的红黑树例子 * 26 17 41 47 nil 30 35 39 38 28 14 21 10 16 19 23 20 15 12 7 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 3 nil nil 1 2 1 1 1 1 2 3 1 2 3 2 1 1 1 1 2 1 1 1 bh(x)們 巨大的红黑树例子 * 26 17 41 47 30 35 39 38 28 14 21 10 16 19 23 20 15 12 7 3 1 2 1 1 1 1 2 3 1 2 3 2 1 1 1 1 2 1 1 1 bh(x) nil 來點证明 * 來點证明 * 以上证明… 说明为什么 1. 有哪些信誉好的足球投注网站 4. 找最大或找最小element 等操作可以在O(log n)內完成 那麼insert和delete呢? 問題: 插入或删除之后, 可能不滿足红黑树的条件 * Representation * data parent left right color Rotate 等一下会用到的 * y x x y left-rotate(T,x) right-rotate(T,y) Insertion 首先, 用原本的binary search tree插入的方法 insert(z) 不同的地方: 1. z的兩个子女都指到nil 结点 2. z为红色 3. 我們最后要处理不符合红黑树规则的部分 怎么处理? * nil 会违反那些规则呢? * nil nil nil 17 情形一: 你的叔叔是红的 * D A B C z: 你 y:叔叔 parent(z): 你爸 D A B C z: 你 继续看新z爸爸是不是红的 你是你爸右边的小孩 情形一: 你的叔叔是红的 * D B A C z: 你 y:叔叔 parent(z): 你爸 D B A C z: 你 你是你爸左边的小孩 注意看每一个步骤是否保持了 红黑树第五个条件 情形二、三: 你的叔叔是黑的 * A B C z: 你 y:叔叔 parent(z): 你爸 B A C z: 你 parent(z): 你爸 y:叔叔 B A C z: 你 你是你爸右边的小孩 你是你爸左边的小孩 left rotate(A) right rotate(C) 需要继续往上层看吗? 不用! 因为B还是黑的! 注意看每一个步骤是否有保持 红黑树第五个条件 练习 * 26 17 41 47 30 35 39 38 28 14 21 10 16 19 23 20 15 12 7 3 1 2 1 1 1 1 2 3 1 2 3 2 1 1 1 1 2 1 1 1 2. 加入4? 1. 加入40? 要花多少時間呢? 原本正常的binary tree insert要花O(log n)的時間 因为高度最高为2 log(n+1) 那麼花費在調整的時間呢? 最糟的狀況? 情形一一直重复发生, 每次z往上移兩层 执行時間最糟要花跟高度成正比的時間 也是O(log n) 那如果发生情形二或三呢? 执行一次即完成. O(1). (所以比O(log n)小) 另外, 最多rotate只需要执行兩次. (不会再发生第二次情形二或三) * 如何刪掉一个结点? (binary search tree 复習) 首先要先找到那个结点 接著, 有各種不同情形: 如果沒有手(degree=0) 直接拿掉 * 20 12 22 25 10 15 11 如何刪掉一个结点? (binary search tree 复習) 如果只有一隻手 (degree=1) 則把那个唯一的child拿上來接到p
您可能关注的文档
- [QC成果]大跨度高大模板支撑体系安全控制汇报试题.ppt
- [QC成果]砌体与短肢剪力墙之间防裂缝措施试题.ppt
- BS-1-无线局域网试题.ppt
- BSC基础知识试题.ppt
- BSMJ-0.45-15-3试题.doc
- [安全交友珍爱青春]主题班会(图文)试题.ppt
- [工学]继电保护原理第五章-自动重合闸试题.ppt
- BSMJ-0.45-20-3试题.doc
- [健康格言]夕阳红背景歌曲模片_免费_动感页面的精美图景转换_与喜爱的朋友分享。试题.ppt
- 合达联行大成都片区鹭湖宫项目2015年6月月报汇报试题.ppt
- 2025年安徽工商职业学院单招职业技能测试题库带答案(典型题).docx
- 2025年洛阳科技职业学院单招职业技能测试题库带答案(新).docx
- 2025年荆门职业学院单招职业技能测试题库及答案(易错题).docx
- 2025年宣化科技职业学院单招职业技能测试题库(精练).docx
- 2025年包头职业技术学院单招职业技能测试题库带答案(新).docx
- 2025年江西工商职业技术学院单招职业技能测试题库带答案(精练).docx
- 2025年黑龙江农业经济职业学院单招职业技能测试题库精编.docx
- 2025年山东艺术设计职业学院单招职业技能测试题库带答案(基础题).docx
- 2025年陕西工商职业学院单招职业技能测试题库带答案(突破训练).docx
- 2025年承德护理职业学院单招职业技能测试题库【word】.docx
最近下载
- 毕业论文-基于MATLAB的光伏发电研究及其仿真.doc
- Shimano禧玛诺自行车5W60A DEORE XT M770 RD-M771 后变速器 使用说明书.pdf
- 青少年活动中心设计规范.doc
- 2022-2023学年北京市通州区三年级(下)期末语文试卷.docx VIP
- [阜阳]2024年安徽阜阳市县(市区)中小学新任教师招聘495人笔试历年典型考题及解题思路分析附带答.docx VIP
- BitTok 全球Web3 支付生态 系统白皮书1.0.pdf
- 资源统计专员求职个人简历求职简历大学生优秀简历模板.doc VIP
- 血液透析中心感染防控组织结构和全员培训制度.docx VIP
- 建筑工程施工质量控制要点ppt课件.pptx
- 老年人安全风险防范.pptx
文档评论(0)