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

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:重要结论
相关推荐
晚风醉蝶2 小时前
1-11-奇偶排序-OddEvenSort
java·数据结构·算法
旖旎夜光2 小时前
LeetCode 852:山脉数组的峰顶索引(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
小雪崩4 小时前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
冻柠檬飞冰走茶6 小时前
《数据结构实验指导-C++语言版》 求单链表list中的元素个数,即表长
开发语言·数据结构·c++·算法·list
_Narcissus_6 小时前
动态规划初探(含完整代码实现)
c语言·数据结构·c++·算法·动态规划·背包问题·最短路径
_Narcissus_8 小时前
枚举和模拟算法笔记
c语言·数据结构·c++·笔记·算法·模拟·枚举
冻柠檬飞冰走茶9 小时前
《数据结构实验指导-C++语言版》 在顺序表 list 中查找元素 x
开发语言·数据结构·c++·算法·list
Brilliantwxx9 小时前
【C++】 高阶数据结构图(1)并查集
开发语言·数据结构·c++
Fa_Mian_Tuan9 小时前
最小生成树之Kruskal算法(超详细原理+完整可运行C语言代码)
c语言·开发语言·数据结构·笔记·算法·图论
冻柠檬飞冰走茶9 小时前
《数据结构实验指导-C++语言版》 返回单链表 list 中第 i 个元素值
开发语言·数据结构·c++·算法·list