数据结构:二叉树

二叉树(一对多)

树:

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

空树:一个节点都没有

节点:

根节点:最顶层的结点

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

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

度:

树的深度:数的层数

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

叶子节点的节点的度为0

二叉树:

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

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

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

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

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

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

二叉树的遍历:

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

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

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

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

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

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

API:

1.创建二叉树

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

3.获取节点个数

4.获取树的层数

5.层序遍历

6.销毁树

相关推荐
风起洛阳@不良使1 小时前
中级软考(软件攻城狮)第3章知识点——数据结构与数据运算(线性结构+非线性结构)
数据结构·算法·链表
索西引擎1 小时前
【数据结构】B树与B+树:结构性质、对比分析与磁盘优化机理
数据结构·b树
xx~t2 小时前
嵌入式学习22
数据结构·学习·算法·排序算法
我是苏苏2 小时前
C#基础:不写for循环的五种方式
数据结构·算法·c#
wuyk55510 小时前
4.树:一对多的层次数据结构
开发语言·数据结构·stm32·单片机
en.en..14 小时前
数据结构考点解析:逻辑闭环与存储循环辨析
数据结构
布莱克60516 小时前
数据库索引分类:数据结构、物理存储与逻辑角度详解
数据结构·数据库
Fa_Mian_Tuan17 小时前
图论基础|邻接矩阵超详细讲解(含无向/有向/带权图+完整可运行C语言代码)
c语言·数据结构·笔记·算法·图论
小星星闪亮登场19 小时前
ST表--倍增思想
开发语言·数据结构·c++·算法·思维