树和二叉树

树型结构:

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

相关推荐
H Corey9 分钟前
数据结构与算法:高效编程的核心
java·开发语言·数据结构·算法
SmartBrain33 分钟前
Python 特性(第一部分):知识点讲解(含示例)
开发语言·人工智能·python·算法
01二进制代码漫游日记1 小时前
自定义类型:联合和枚举(一)
c语言·开发语言·学习·算法
小学卷王1 小时前
复试day25
算法
样例过了就是过了1 小时前
LeetCode热题100 和为 K 的子数组
数据结构·算法·leetcode
二年级程序员1 小时前
单链表算法思路详解(下)
c语言·数据结构·算法
HAPPY酷2 小时前
C++ 成员指针(Pointer to Member)完全指南
java·c++·算法
Sunsets_Red2 小时前
浅谈随机化与模拟退火
java·c语言·c++·python·算法·c#·信息学竞赛
Felven2 小时前
A. Add and Divide
数据结构·算法
Frostnova丶2 小时前
LeetCode 67. 二进制求和
算法·leetcode