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

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:重要结论
相关推荐
cpp_25011 小时前
P1968 [CHCI 2001 Regional Competition Seniors] 美元汇率
数据结构·c++·算法·题解·洛谷·线性dp
小此方2 小时前
Re:从零开始的 C++ STL篇(八)深度解构AVL树自平衡机制:平衡维护与旋转调整背后的严密逻辑
开发语言·数据结构·c++·算法·stl
2301_789015622 小时前
封装哈希表实现unordered_set/undered_map
c语言·数据结构·c++·算法·哈希算法
独断万古他化2 小时前
【算法通关】递归:汉诺塔、合并链表、反转链表、两两交换、快速幂全解
数据结构·算法·链表·递归
ccLianLian15 小时前
数论·约数
数据结构·算法
会编程的土豆15 小时前
【数据结构与算法】最短路径---Dijkstra 算法
数据结构·c++·算法
计算机安禾16 小时前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
励志的小陈17 小时前
数据结构---顺序表
数据结构
x_xbx18 小时前
LeetCode:215. 数组中的第K个最大元素
数据结构·算法·leetcode