当前位置:网站首页>二叉树 | 代码随想录学习笔记
二叉树 | 代码随想录学习笔记
2022-08-10 22:23:00 【Begonia_cat】
跟随carl代码随想录刷题
语言:python
本文为笔者学习二叉树的笔记,主要内容来自于代码随想录。
二叉树
二叉树的定义
二叉树的定义与链表差不多,只不过二叉树的节点里多了两个指针:指向左右孩子。
class TreeNode:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
二叉树的形式、平衡二叉树、二叉搜索树
- 二叉树主要有两种
形式【不包含数值】:- 满二叉树
- 一棵二叉树只有
度为0的节点和度为2的节点,并且度为0的节点在同一层上。 - 深度为
k时,有2^k - 1个节点。
- 一棵二叉树只有
- 完全二叉树
- 除了最底层节点可能没填满外,其余每层节点数都达到了最大值。并且最下面一层的节点都集中在该层
最左边的若干位置。若最底层为n层,则该层包含1~2^(h-1)个节点。
堆就是一个完全二叉树
- 除了最底层节点可能没填满外,其余每层节点数都达到了最大值。并且最下面一层的节点都集中在该层
- 满二叉树
- 二叉搜索树
二叉搜索树是有序树- 如果左子树不为空,则左子树上所有节点的值均
小于它的根节点的值。 - 如果右子树不为空,则右子树上所有节点的值均
大于它的根节点的值。
- 平衡二叉树(又称AVL树)
- 是
空树或左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树
红黑树是一种平衡二叉树 - 一定要知道自己所用语言的
常用的容器底层是如何实现的
- 是
二叉树的存储方式
- 两种方式:
链式存储- 用指针
- 元素散落在内存中的各个地址

顺序存储- 用数组
- 元素在内存中是连续分布的

如果父节点的数组下标是
i,那么它的左孩子就是i*2+1,右孩子就是i*2+2链式表示方式便于理解,一般都用链式存储二叉树(所以喔,
数组依然可以表示二叉树)。
二叉树的遍历方式
- 主要有两种遍历方式:
深度优先遍历- 先往深走,遇到叶子节点再往回走
- ️借助
栈实现【栈是递归的一种实现结构】 - 按照
中间节点的遍历顺序,可细分为三种遍历方式:- 前序遍历(递归法,迭代法)
中左右 - 中序遍历(递归法,迭代法)
左中右 - 后序遍历(递归法,迭代法)
左右中
前序、中序、后序递归遍历代码
前序、中序、后序迭代遍历代码
- 前序遍历(递归法,迭代法)
广度优先遍历一层一层地去遍历
️借助
队列实现层次遍历(迭代法)
边栏推荐
- ThreadLocal comprehensive analysis (1)
- August 10, 2022: Building Web Applications for Beginners with ASP.NET Core -- Creating Web UIs with ASP.NET Core
- gcc492 compile `.rodata‘ can not be used when making a PIE object; recompile with -fPIE
- 实例055:按位取反
- 边缘与云计算:哪种解决方案更适合您的连接设备?
- MySQL Advanced Commands
- STL-stack
- 今日睡眠质量记录75分
- QT笔记——QT工具uic,rcc,moc,qmake的使用和介绍
- 3598. Binary tree traversal (Huazhong University of Science and Technology exam questions)
猜你喜欢

高数_复习_第5章:多元函数微分学

实例050:随机数

virtual address space

链表中的节点每k个一组翻转
![68: Chapter 6: Develop article services: 1: Content sorting; article table introduction; creating [article] article services;](/img/95/7f21ecda19030c2faecbe373893d66.png)
68: Chapter 6: Develop article services: 1: Content sorting; article table introduction; creating [article] article services;

企业云存储日常运行维护实践经验分享

德科立科创板上市:年营收7.3亿 市值59亿

爬虫request.get()出现错误

Detailed installation steps and environment configuration of geemap

geemap的详细安装步骤及环境配置
随机推荐
字节跳动原来这么容易就能进去...
LeetCode每日两题02:反转字符串中的单词 (均1200道)
CIKM2022 | Sequence Recommendation Based on Bidirectional Transformers Contrastive Learning
实例055:按位取反
SDP
B站数据分析岗实习生面试记录
爬虫request.get()出现错误
2022年8月10日:使用 ASP.NET Core 为初学者构建 Web 应用程序--使用 ASP.NET Core 创建 Web UI(没看懂需要再看一遍)
What is Jmeter? What are the principle steps used by Jmeter?
2021 IDEA creates web projects
geemap的详细安装步骤及环境配置
How many threads does LabVIEW allocate?
过滤器
实例050:随机数
BM7 链表中环的入口结点
TCP连接过程中如果拔掉网线会发生什么?
解码2022中国网安强星丨正向建、反向查,华为构建数字化时代的网络安全防线
诺诚健华通过注册:施一公家族身价15亿 高瓴浮亏5亿港元
Leave a message with a prize | OpenBMB x Tsinghua University NLP: The update of the large model open class is complete!
H3C S5130 IRF做堆叠