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

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:重要结论
相关推荐
_日拱一卒3 小时前
LeetCode:994腐烂的橘子
java·数据结构·算法·leetcode·深度优先
2401_868534785 小时前
【无标题】
数据结构·r语言
Mr. zhihao6 小时前
Redis五大高级数据结构:原理-场景-底层-横向对比
数据结构·redis
QiLinkOS6 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
如此这般英俊6 小时前
手撕Claude Code—第一章 agent-loop
数据结构·人工智能·语言模型·自然语言处理
过期动态8 小时前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展
青山师8 小时前
动态规划算法深度解析:从状态转移方程到工业级优化
数据结构·算法·面试·动态规划·代理模式·java面试
Severus_black10 小时前
【初阶数据结构与算法】八大排序之非比较排序(计数排序),一次性讲清!
数据结构·算法·排序算法
QiLinkOS11 小时前
从技术到资产的跃迁:企业专利布局的深层逻辑
c语言·数据结构·c++·单片机·嵌入式硬件·算法·开源
影寂ldy12 小时前
C#Dictionary字典
数据结构