树和二叉树

树型结构:

1、结点之间右分支

2、具有层次关系

根结点:非空树中无前驱结点的结点

结点的度:结点拥有的子树数

当度为零时:称为叶子(终端结点)

二叉树:由一个根结点和左子树和右子树组成

二叉树的性质:

1、在二叉树的第i层上至多有2的 i-1次方个结点(i>=1),至少有i个结点。

2、深度为k的二叉树至多有2的k次方减1个结点(k>=1),至少有k个结点。

3、对任何一颗二叉树T,如果其叶子数为n0,度为2的结点数位n2,则 n0=n2+1

总边数 B = n -1 (n为总结点数), B = n2*2 + n1*1

**满二叉树:**一颗深度为k且有2的k次方减1个结点的二叉树

特点:1、每一层上的结点数都是最大结点

2、叶子结点全部在最底层

编号规则:1、从根结点开始,自上而下,自左而右

2、每一结点位置都有元素

如图所示:在该二叉树中除了叶子结点外,其余结点都有左右子树

完全二叉树:深度为k的具有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中的编号为1到n的结点一一对应时

完全二叉树的性质:

1、具有n个结点的完全二叉树的深度为 : | log以2为底n的对数 | +1

注:|x|:称作x的底,即不超过x的最大整数

2、如果对一颗有n个结点的完全二叉树(深度为 | log以2为底n的对数 | +1 )的结点

按层序编号(从第i层到第 | log以2为底n的对数 | +1 层,每层从左到右),则对任一结点

i(1<=i<=n)有

1、如果 i=1,则结点 i 是二叉树的根,无双亲结点;如果 i>1,则其双亲是结点(i/2)

2、如果2i>n,则结点i为叶子结点,无左孩子,否则其左孩子是结点 2i

3、如果2i+1>n,则结点 i无右孩子,否则其右孩子是结点 2i+1

相关推荐
充值修改昵称2 分钟前
数据结构基础:二叉树高效数据结构的奥秘
数据结构·python·算法
啊阿狸不会拉杆39 分钟前
《机器学习》第四章-无监督学习
人工智能·学习·算法·机器学习·计算机视觉
Java程序员威哥1 小时前
用Java玩转机器学习:协同过滤算法实战(比Python快3倍的工程实现)
java·开发语言·后端·python·算法·spring·机器学习
Lips6111 小时前
第六章 支持向量机
算法·机器学习·支持向量机
Howrun7771 小时前
信号量(Semaphore)
开发语言·c++·算法
leaves falling1 小时前
c语言-动态内存管理
c语言·开发语言
cheems95271 小时前
[Java EE]多线程模式下容器的选择
算法·哈希算法
一路往蓝-Anbo1 小时前
第37期:启动流程(二):C Runtime (CRT) 初始化与重定位
c语言·开发语言·网络·stm32·单片机·嵌入式硬件
飞Link1 小时前
指令调整阶段中的通用模型蒸馏、模型自我提升和数据扩充
python·算法·数据挖掘
wen__xvn2 小时前
基础算法集训第01天:线性枚举
数据结构·c++·算法