数据结构:二叉树

二叉树(一对多)

树:

树:由根节点和若干个子节点构成的具有一对多关系的数据的集合,称为树形结构。

空树:一个节点都没有

节点:

根节点:最顶层的结点

叶子节点(终端节点):向后没有子节点的节点

分支节点(非终端节点):有子节点的节点

度:

树的深度:数的层数

树的度(数的广度):树中节点最大的度是该数的广度
节点的度:节点的子节点个数

叶子节点的节点的度为0

二叉树:

二叉树:树的广度为2的树形结构,且各节点的左右子节点不能交换

满二叉树:在不增加层数的情况下,无法再增加一个节点

K层满二叉树:第K层的节点个数:2^(K-1)

K层总共节点个数:2^K-1
完全二叉树:在满二叉树基础上,按照从左到右,从上到下依次增加节点的树形结构

在满二叉树基础上,按照从下到上,从右到左依次删除节点的树形结构

满二叉树一定是完全二叉树

二叉树的遍历:

前序遍历:根、左子树、右子树

中序遍历:左子树、根、右子树

后序遍历:左子树、右子树、根

层序遍历:从上至下、从左至右

其中,前中后序为深度优先遍历算法,层序为广度优先遍历算法

已知前序(/后序)和中序遍历结果·,可以唯一还原一棵二叉树

API:

1.创建二叉树

2.前序、中序、后序遍历

3.获取节点个数

4.获取树的层数

5.层序遍历

6.销毁树

相关推荐
by2099911 小时前
哈希表——快速找到数据:冲突、删除与扩容的实现
数据结构·c++·哈希算法·散列表
Code_Solitude11 小时前
c语言:关于qsoet函数知识点
c语言·数据结构·算法
Pniubi12 小时前
快速排序(力扣基础)(递归)
java·数据结构·算法
inrichtt1 天前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
HPtiger1 天前
数据结构——选择排序
数据结构·算法·排序算法
丑梨数据1 天前
信创环境里跑文档工具:格式兼容与本地合规的几个坑
数据结构·人工智能·算法·决策树·排序算法
烂蜻蜓1 天前
Pandas入门教程(四):Series数据结构——创建、索引与常用方法
数据结构·pandas
CS创新实验室1 天前
一棵树怎么做到“自平衡还不太费力“?——红黑树的旋转与染色
数据结构·算法·红黑树·408·计算机考研
Logic1011 天前
C语言/数据结构位运算题解:异或XOR找出被挑选一次的果子编号——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度
从小白到软工1 天前
4-3 项目-学生成绩管理系统(上)
c语言·开发语言·数据结构·经验分享·ai编程