数据结构之树的性质总结

节点的度:该节点拥有的孩子个数

叶子节点:度为0的节点

层数:根节点为第一层,根的子节点为第二层,以此类推

所有树的性质:所有节点的总度数等于节点数减一

完全m叉树性质

完全m 叉树,节点的度数最大为m ,且必须按照从上到下从左到右的顺序依次填满,叶子节点只出现在倒数第一层和倒数第二层,如以下为一个完全三叉树

(1)第i 层最多拥有的节点个数为

(2)d 层的完全m 叉树最多拥有的节点个数为

假设完全m 叉树有n 个节点

(3) n 个结点的完全m 叉树的深度为 , ceil 表示向上取整

(4) 当i <d 时,第i 层节点个数为

d 层的节点个数为

(5)在满m 叉树中,一个编号为p 的结点(编号从1开始),它的深度是 ,它的父节点编号为 ,易得该结点的第k -1 个孩子的编号为p *k ,所以推导出该结点的第i 个孩子的编号为

(6)对于n 个结点的二叉树,按从上到下,从左到右依次给结点编号

i 的双亲结点为i //2 ,若n <2i ,则i 是叶子结点,若n ≥2i ,则其左孩子为2i ,若n ≥2i +1 ,则其右孩子是结点2i +1 ,若n <2i+1 ,则其无左孩子

(7) n 个结点的不同二叉树有

经典例题

已知一个二叉树有x0 个叶子结点,则该二叉树的总结点数至少是

需要最少的结点,则除了叶子结点外其它结点度数都为2,设度数为2的结点有x2 个,则根据度数性质:所有节点的总度数等于节点数减一

所以该二叉树的总结点数至少是

相关推荐
cellurw41 分钟前
EDID 数据结构解析与编辑工具:校验和计算、厂商/设备名编解码、物理地址读写、颜色与时序信息提取
数据结构
共享家95271 小时前
经典动态规划题解
算法·leetcode·动态规划
Pluchon1 小时前
硅基计划3.0 Map类&Set类
java·开发语言·数据结构·算法·哈希算法·散列表
☼←安于亥时→❦2 小时前
PyTorch之张量创建与运算
人工智能·算法·机器学习
子豪-中国机器人2 小时前
枚举算法和排序算法能力测试
开发语言·c++·算法
qiuyunoqy2 小时前
基础算法之二分算法 --- 2
算法
重生之我是Java开发战士2 小时前
【数据结构】Java集合框架:List与ArrayList
java·数据结构·list
爱干饭的boy3 小时前
手写Spring底层机制的实现【初始化IOC容器+依赖注入+BeanPostProcesson机制+AOP】
java·数据结构·后端·算法·spring
二哈不在线3 小时前
代码随想录二刷之“动态规划”~GO
算法·golang·动态规划
cellurw3 小时前
俄罗斯方块终端游戏实现 —— C语言系统编程与终端控制
c语言·算法