自平衡二叉树
1、二叉树的三种遍历方式
- TreeSet/TreeMap是自平衡二叉树,遵循左小右大原则存放。
实例1:100、200、50、60、80、120、140、130、135、180、666、40、55
其二叉树图如下:
解析:这个二叉树的画法是:每一个数都要和根比较,比根小的在左边,比根大的在右边。
1.1、前序遍历
遍历顺序参考中序遍历。
注:前序遍历的方式是:根左右。
1.2、中序遍历
- TreeSet/TreeMap集合采用的是中序遍历方式。
- Iterator迭代器采用的是中序遍历方式
中序遍历的方式是:左根右。
上面实例1采用中序遍历的解析:
图可以分解为:
-
左(40、50、60、55、80);
- 左还可以分解为:
- 左(40)
- 根(50)
- 右(60、55、80)
- 右还可以分解成:左(55)根(60)右(80)
-
根(100)
-
右(200、120、140、130、135、180、666)
- 右还可以分解为:
- 左(120、140、130、135、180)
- 左边还可以分解为:
- 左(空)
- 根(120)
- 右(140、130、135、180)
- 右还可以分解为:
- 左(130、135)
- 左还可以分解为:左(空)根(130)右(135)
- 根(140)
- 右(180)
- 根(200)
- 右(666)
根据“左根右”的原则:40、50、55、60、80、100、120、130、135、140、180、200、666
1.3、后序遍历
遍历顺序参考中序遍历。
注:后序遍历的方式是:左右根。
本文作者:LFR
本文链接:https://www.cnblogs.com/LFR-21/p/14690820.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫