树的概念与性质(哈喜老师)

1、树的相关概念


2、树的性质及其题目

2.1:树的性质

2.2:题目1

选B。根据树的性质1可求得答案为82

2.3:题目2


3.二叉树

3.1:二叉树的概念

3.2:二叉树的基本形态

3.3:二叉树与度为2的树有什么区别?

3.4:满二叉树与完全二叉树

3.5:二叉树的性质(很重要)

3.6:完全二叉树的性质(很重要)

3.7:二叉树相关的题目

题目1(不难,但比较综合,重点看)


题目2(有一点难度)


题目3(有坑)


4.二叉树的存储

4.1:采用顺序存储结构

假设完全二叉树的结点个数为n,完全二叉树中的结点采用从上到下,从左往右的顺序存储,若结点的下标从0开始编号(因为数组的下标是从0开始的),则对于下标为i的结点满足以下4条性质:

①根结点的下标为0

②已知孩子结点的下标 i (i>0), 求父结点的下标:

父结点的下标为:(i-1) / 2(整数除法)

③已知父结点的下标 i ,求左孩子结点的下标:

则左孩子的下标为2 * i + 1,当2 * i + 1>=n时,无左孩子

④已知父结点的下标 i ,求右孩子结点的下标:

则右孩子的下标为2 * i + 2,当2 * i + 2>=n时,无右孩子

4.2:采用链式存储结构

⼆叉树的链式存储结构:底层结构用链表来实现二叉树。链式存储结构又分为⼆叉链表和三叉链表。 当前我们学习中⼀般都是二叉链表。后面课程学到高阶数据结构(如红黑树)会用到三叉链表。

①二叉链表:链表中每个结点由3个域组成,分别是存储结点的值的数据域,以及两个指针域(一个指针指向该结点的左孩子,另一个指针指向该结点的右孩子)。

②三叉链表:链表中每个结点由4个域组成,分别是存储结点的值的数据域,以及三个指针域(一个指针指向该结点的左孩子,另一个指针指向该结点的右孩子,最后一个指针指向该结点的父结点)。


4.2.1:重要结论
相关推荐
余额瞒着我当琳1 小时前
红黑树的实现--红黑树的概念、规则、效率、结构、旋转、查找、验证
数据结构·c++·算法
程序员南飞1 小时前
win系统安装minio
java·数据结构·算法
w_zero_one3 小时前
链表(4)
java·数据结构·算法
白山编程大哥5 小时前
C语言篇:语法进阶
c语言·数据结构·算法
Logic1015 小时前
C语言/数据结构动态规划题解:爬楼梯(含坏台阶)——避开障碍物的路径计数
c语言·数据结构·动态规划·时间复杂度·空间复杂度·算法题·爬楼梯
All for pursuit.6 小时前
【回溯-6】79.单词搜索
数据结构·c++·算法·leetcode
Benny_Tang7 小时前
AT_arc180_d [ARC180D] Division into 3 题解
数据结构·c++·算法
殷色玫瑰7 小时前
C++ STL:stack、queue、priority_queue 与容器适配器详解
java·开发语言·数据结构·c++·算法·visualstudio
秋名RG9 小时前
时间复杂度、空间复杂度与算法稳定性详解
数据结构·算法·排序算法
白色的北极熊9 小时前
c语言 求余运算符
c语言·数据结构·算法