数据结构:二叉树

二叉树(一对多)

树:

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

空树:一个节点都没有

节点:

根节点:最顶层的结点

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

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

度:

树的深度:数的层数

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

叶子节点的节点的度为0

二叉树:

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

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

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

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

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

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

二叉树的遍历:

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

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

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

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

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

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

API:

1.创建二叉树

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

3.获取节点个数

4.获取树的层数

5.层序遍历

6.销毁树

相关推荐
轩轶子27 分钟前
Python CLI Todo:一次数据结构错误引发的 Bug
数据结构·python·bug
CQU_JIAKE1 小时前
9.28【A】
数据结构
code斗10 小时前
Java数据结构:堆详解
java·开发语言·数据结构
Elaine33612 小时前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础
Logic10113 小时前
C语言/数据结构位运算题解:异或XOR找出游戏速通中的“独特初始能量值“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Bruce_Liuxiaowei16 小时前
Python 字典默认值完全指南:从 KeyError 到 defaultdict
开发语言·数据结构·python·字典
All for pursuit.19 小时前
【二叉树-10】114.二叉树展开为链表
数据结构·c++·算法·leetcode·链表
心中有你02141 天前
C语言埃氏筛法(素数筛选)
c语言·数据结构·算法
释厄6231 天前
多黑洞具现论·物理/生物/金融三域显化·虚拟宇宙黑洞·奇点=0 圆圈
开发语言·数据结构·人工智能·程序人生·安全威胁分析
库玛西1 天前
攻克 408 数据结构:图论基石深度拆解(数学极值推演 + 存储内存剖析 + BFS/DFS 双核模板)
数据结构·算法·深度优先·广度优先·图搜索算法