【数据结构】二叉树

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

一、树的结构

二、树的概念

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博客

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

五、二叉树的遍历

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

相关推荐
Vect__14 小时前
链表漫游指南:C++ 指针操作的艺术与实践
数据结构·c++·链表
古译汉书14 小时前
蓝桥杯算法之基础知识(2)——Python赛道
数据结构·python·算法·蓝桥杯
.Vcoistnt14 小时前
Codeforces Round 1043 (Div. 3)(A-E)
数据结构·算法
野犬寒鸦14 小时前
力扣hot100:搜索二维矩阵与在排序数组中查找元素的第一个和最后一个位置(74,34)
java·数据结构·算法·leetcode·list
啊吧怪不啊吧21 小时前
C++之list类的代码及其逻辑详解 (中)
开发语言·数据结构·c++·list
楼田莉子1 天前
C++算法学习专题:滑动窗口
开发语言·数据结构·c++·学习·算法·leetcode
zh_xuan1 天前
LeeCode 40.组合总和II
c语言·数据结构·算法
wangluoqi1 天前
c++ 数据结构-并查集、ST表 小总结
数据结构·c++
小马学嵌入式~1 天前
数据结构:队列 二叉树
c语言·开发语言·数据结构·算法
省四收割者1 天前
Go语言入门(10)-数组
数据结构·经验分享·笔记·vscode·算法·golang