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

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:重要结论
相关推荐
白白白小纯4 小时前
算法篇—反转链表
c语言·数据结构·算法·leetcode
阿米亚波7 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
三克的油9 小时前
数据结构-4
数据结构
05664611 小时前
Python康复训练——数据结构
数据结构·windows·python
冻柠檬飞冰走茶12 小时前
PTA基础编程题目集 7-27 冒泡法排序(C语言实现)
c语言·开发语言·数据结构·算法
noipp15 小时前
推荐题目:洛谷 P5843 [SCOI2012] Blinker 的噩梦
c语言·数据结构·c++·算法·游戏·洛谷·luogu
冻柠檬飞冰走茶15 小时前
PTA基础编程题目集 7-20 打印九九口诀表(C语言实现)
c语言·开发语言·数据结构·算法
红叶舞16 小时前
基于线段树的数据结构
数据结构·python·算法
断点之下16 小时前
从“理扑克牌”到“分组优化”——直接插入排序与希尔排序详解
数据结构·算法·排序算法
起个破名想半天了16 小时前
算法与数据结构之DFS深度优先遍历
数据结构·算法·深度优先