【数据结构】二叉树

数据结构系列三:二叉树(一)

一、树的结构

二、树的概念

1.度

1.1节点的度:

1.2树的度:

2.层次

2.1节点的层次:

2.2树的高度:

3.二叉树

3.1二叉树:

3.2完全二叉树:

3.3满二叉树:

三、树的性质

1.树

1.1总节点个数:

1.2边:

2.二叉树

2.1叶节点个数:

2.2第i层满节点个数:

2.3到k层满节点个数:

3.完全二叉树

3.1树高度:

3.2节点下标:

3.3度1节点个数:

四、树的引用管理对象体系

五、二叉树的遍历


一、树的结构

每一个节点都是以它为根的大小整体树的根,在每一个整体树中,以亲人代的关系组织节点存储数据长成此整体树,代与代++上代与下代之间的直系亲人会连线,表示一个节点双亲生节点双亲++

二、树的概念

1.度

1.1节点的度:

该节点下一代的直系孩子的个数

1.2树的度:

整棵树中度数最大的那个节点的度


2.层次

2.1节点的层次:

该节点所处的代数

2.2树的高度:

整棵树共有的代数


3.二叉树

3.1二叉树:

节点全以<=2的度向下长的树 ,其中每次左节点长的树为左子树 ,右节点长的树为右子树

3.2完全二叉树:

二叉树按从上到下、从左往右的顺序生成节点形成的树

3.3满二叉树:

完全二叉树最下层都生满的树


三、树的性质

(默认根节点1层、0下标)

1.树

1.1总节点个数:

总节点个数 = 叶节点个数 + 度节点个数(度1+度2...)

1.2边:

个度n节点有n条边, 总N个节点共有N-1条边

(1.1与1.2常常结合起来列方程来求得结果的如2.1)


2.二叉树

2.1叶节点个数:

叶节点个数 = 度2节点个数 + 1

2.2第i层满节点个数:

第i层满的节点个数为

2.3到k层满节点个数:

n叉树到k层全满的节点个数为()/(n-1),二叉树 到k层全满的节点个数为


3.完全二叉树

3.1树高度:

n个总节点的树高度为向上取整

3.2节点下标:

下标i节点的左子节点为(2*i) + 1,右子节点为(2*i) + 2,父节点为(i - 1) / 2

3.3度1节点个数:

偶数总节点的树中度1节点个数为1,奇数总节点的树中无度1节点


四、树的引用管理对象体系

数据结构中的引用管理对象体系-CSDN博客

引用管理对象体系中,最上层引用直接管理最下层直接引用对象,直接引用管理的直接对象是内部类创的似复刻变量对象,似复刻变量里装一颗树的根节点和指向内容其它树的同类直接引用直接对象里存直接引用的直接对象就能管理到所有直接对象的管理模式 (直接对象递归直接引用 的和链表类变量一样),用来管理到一棵树的引用管理对象体系有很多 ,管理体系的不同就在++似复刻变量里设置装的其它树的引用可有很多种方案都可以去管理到整棵树++

五、二叉树的遍历

前后序遍历为根,中序遍历在根的左右分

相关推荐
CoderYanger1 天前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
萌>__<新1 天前
力扣打卡每日一题————除自身外所有元素的乘积
数据结构·算法
xu_yule1 天前
算法基础—搜索(2)【记忆化搜索+BFS+01BFS+Floodfill]
数据结构·算法
Queenie_Charlie1 天前
数字去重(set)
数据结构·c++·set
Ayanami_Reii1 天前
区间不同数的个数-树状数组/线段树/莫队/主席树
数据结构·c++·算法·线段树·树状数组·主席树·莫队
CoderYanger1 天前
C.滑动窗口-求子数组个数-越长越合法——3325. 字符至少出现 K 次的子字符串 I
c语言·数据结构·算法·leetcode·职场和发展·哈希算法·散列表
sin_hielo1 天前
leetcode 3606
数据结构·算法·leetcode
萌>__<新1 天前
力扣打卡每日一题————最小覆盖子串
数据结构·算法·leetcode·滑动窗口·哈希表
长安er1 天前
LeetCode 83/237/82 链表删除问题-盒子模型
数据结构·算法·leetcode·链表·力扣
重生之后端学习1 天前
56. 合并区间
java·数据结构·后端·算法·leetcode·职场和发展