《考研408数据结构》第六章(5.1+5.2+5.3树、二叉树、线索二叉树)复习笔记

一、树

1、树的定义

计算机专业的应该都学过,只需要略微回顾一下这些名词就行;跨考的看一下这个思维导图应该也能理解

2、其他基本术语

放大来看,过一遍就行,都是很基础的概念

3、树的常考性质计算

虽然我的图画的很丑。。。但是我觉得这些性质不需要花太多图和文笔来解释,就这么几个公式概念之间用一个图集合起来,应该都看得懂吧。。。?

【重点注意!!】

1、已知度为m、节点共n个,【最小高度h】一定一定要取到【超出的第1个结果】,或者按照下面这个公式理解,我也不知道怎么解释反正记住就行

2、已知各个度数节点有几个,求总结点数的【2种平替计算公式】!!!!

4、【总结】

5、【例题】

二、二叉树

1、二叉树的定义

就是每个节点最多有【2棵子树】的树,或者说最多有【2个分支】

  • 当然是【最多】,没说【一定】,【啥节点也没有的空树】也是一种【子树】
  • 依旧是狗屎图,需要各位放大,不过也没什么知识点,只是要注意区分一下【二叉树】和【度为2的树】二者的区别

2、特殊二叉树

这个思维导图我就不乱画了,先仔细回忆一下

1)【满二叉树】和【完全二叉树】

【满二叉树】一定是【完全二叉树】,但是**【完全二叉树】不一定是【满二叉树】**

2)二叉排序树

3)平衡二叉树

3、二叉树的性质

我懒得打字解释了,全部都可以按前面【树的性质】推算,只要牢记【二叉树的度<=2】就行了(一般按度数m=2计算就可以了)

【留意一下:完全二叉树】

【例题】

4、二叉树的存储结构(感觉出的题很少,应该非重点)

1)第一种:顺序存储

2)第二种:链式存储

【注意考点!!】

  • 【二叉树二指针】情况的【指针数】
  • 【二叉树三指针】情况的【指针数】

【例题】

5、二叉树的遍历(常考)

【三大类遍历的总结】

1)先序遍历【根左右】

2)中序遍历【左根右】

3)后序遍历【左右根】

4)层次遍历

5)由遍历序列构造二叉树

【先序 + 后序】
【后序+中序】

【层序+中序】

【一些技巧知识点】
  • 【先序遍历】和【后序遍历】完全不一样:该树的节点只有1左孩子、或只有1右孩子
  • 【中序遍历】对于"节点只有1左孩子、或只有1右孩子"的树,【子树根】只会在序列最前、或最后
  • 【只有前序、后序】时,并非什么也推不出
    • 可以推出【根节点】、以及【紧挨根节点的左、右孩子】
  • 【任何遍历方式】输出了【N个元素的序列】,都对应有【】种二叉树形状
    • 也可以用**【卡特兰数】来计算【n个节点的二叉树形状】**
  • 什么情况【先序=中序】、【后序=中序】

【例题】

三、线索二叉树

【总结思维导图】

【具体解释】

1)中序线索二叉树

2)先序 和 后序线索二叉树

【先序遍历线索二叉树】

【后续遍历线索二叉树】

【例题】

相关推荐
wktomo3 小时前
深度学习快速入门手册
1024程序员节
苏纪云3 小时前
数据结构<C++>——数组
java·数据结构·c++·数组·动态数组
周杰伦_Jay3 小时前
【 RocketMQ 全解析】分布式消息队列的架构、消息转发与快速实践、事务消息
分布式·算法·架构·rocketmq·1024程序员节
动能小子ohhh3 小时前
Langchain从零开始到应用落地案例[AI智能助手]【3】---使用Paddle-OCR识别优化可识别图片进行解析回答
人工智能·python·pycharm·langchain·ocr·paddle·1024程序员节
路漫漫其修远兮sjw4 小时前
llamafactory拉取并启动(本地虚拟机)
docker·模型微调·1024程序员节·模型调用
摇滚侠4 小时前
全面掌握 PostgreSQL 关系型数据库,PostgreSQL 介绍,笔记02
数据库·笔记·postgresql
摇滚侠4 小时前
Spring Boot3零基础教程,生命周期监听,自定义监听器,笔记59
java·开发语言·spring boot·笔记
it&s me4 小时前
EulerOS(NPU)安装llamafactory
ai·1024程序员节·llamafactory
大龄Python青年4 小时前
Linux发行版Ubuntu24.04安装教程
linux·ubuntu·1024程序员节