树和二叉树

树型结构:

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

相关推荐
qq_433554549 分钟前
C++树形DP(树上分组背包)
c++·算法·深度优先
法号:行颠20 分钟前
Chaos-nano协作式异步操作系统(六):`Chaos-nano` 在手持式 `VOC` 检测设备上的应用
c语言·单片机·嵌入式硬件·mcu·系统架构
南棱笑笑生27 分钟前
20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配CTP触摸屏FT5X06
linux·c语言·开发语言·rockchip
电子_咸鱼28 分钟前
常见面试题——滑动窗口算法
c++·后端·python·算法·leetcode·哈希算法·推荐算法
mit6.82444 分钟前
hash+presum判等|幻方0
算法
萌>__<新1 小时前
力扣打卡每日一题————最小覆盖子串
数据结构·算法·leetcode·滑动窗口·哈希表
ada7_1 小时前
LeetCode(python)230.二叉搜索树中第k小的元素
python·算法·leetcode·链表
TL滕2 小时前
从0开始学算法——第十五天(滑动窗口练习)
笔记·学习·算法
DuHz2 小时前
milliLoc 论文精读:把商用毫米波 FMCW 的绝对测距从“厘米栅格”推进到“毫米级连续值”,并顺带修正 AoA 的系统相位偏差
论文阅读·物联网·算法·信息与通信·毫米波雷达
qq_401700412 小时前
Linux文件锁解决多进程并发
linux·服务器·算法