先放一张自己做的思维导图,当时思路不是太清晰,只能看出来当时学的大概是啥。。。

*

树:

1、逻辑结构的一种。
2、树中包含的基本概念。
①结点、度、层次

②双亲、孩子、兄弟

二叉树

1、为什么要研究二叉树。。

二叉树的结构最简单,规律性最强;
所有树都能转为唯一对应的二叉树, 不失一般性。
(二叉树不是树。)

2、特殊二叉树(满二叉树完全二叉树

满二叉树 :一棵深度为k且有2k-1个结点的二叉树。(特点:除叶子结点外的结点度都为2)

完全二叉树 :深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一 一 对应。(特点:只有最后一层叶子不满且全部集中在左边)

关系:满二叉树必为完全二叉树,完全二叉树不一定是满二叉树。

3、二叉树的性质:

① . 在二叉树的第 i 层上至多有 2(i-1) 个结点。

② . 深度为 k 的二叉树至多有 2k-1 个结点。深度为 k 时至少有_ k_个结点。

③ . 叶子结点数 = 度为2的结点数 + 1

④ . 具有 n 个结点的完全二叉树的深度必为 [log2n]+1([log2n]表示取log2n能取到的的最大整数)

⑤ . 对完全二叉树,若从上至下、从左至右编号,则编号为i的结点,其左孩子编号必为2i,其右孩子编号必为2i+1;其双亲的编号必为i/2。

4、二叉树的三种遍历

前(先)序遍历:根左右
中序遍历:左根右
后序遍历:左右根
注意:以上三个每个子树也都是按这个来的。
层序遍历:一层一层的访问,一层访问结束再访问下一层。

遍历定义:指按某条搜索路线遍访每个结点且不重复(又称周游)。
遍历用途:是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心。

哈夫曼树

1、就是之前离散里学的最优二叉树,即带权路径长度最短的二叉树。

权值:结点表达出的数值大小,或者变换的表示为概率大小
路径:根结点到达当前结点的分支数,左分支和右分支具有不同意义

2、哈夫曼树的构造过程:
① . (统计出每种字符出现的频率),对结点权值升序排序,从结点序列中选择两个权值最小(两个最小的实数)的结点,小的放左边,大的放右边,创建新的结点,如选择1,2实数作为结点,则创建的结点的权为3。

② . 从序列中删除上一步选择的两个结点,再选一个最小的,将新创建的结点加入序列。重复执行以上两步,最终节点序列中剩余的一个结点即为最终的根结点。

3、哈夫曼编码。
在每个路径上都添上 0 或 1,规则左0 右1。从根结点数到对应的叶子结点,路径上的值拼接起来就是叶子结点字母的应该的编码。

森林←→二叉树←→树,三者相互转换

1、将树转换为二叉树:

① . 在每层的所有兄弟结点之间加一连线。
② . 对每个结点,除了保留与其长子的连线外,去掉该结点与其它孩子的连线。

2、将森林转换为二叉树:

① . 将森林中的每棵树变为二叉树;
② . 因为转换所得的二叉树的根结点的右子树均为空,故可将各二叉树的根结点视为兄弟从左至右连在一起,就形成了一棵二叉树。

3、二叉树转换为树:

其实就是是树转换为二叉树的逆过程。

① . 加线。若某结点X的左孩子结点存在,则将这个左孩子的右孩子结点、右孩子的右孩子结点、右孩子的右孩子的右孩子结点…,都作为结点X的孩子。将结点X与这些右孩子结点用线连接起来。
② . 去线。删除原二叉树中所有结点与其右孩子结点的连线。

4、二叉树转换为森林:

假如一棵二叉树的根节点有右孩子,则这棵二叉树能够转换为森林,否则将转换为一棵树。

① . 从根节点开始,若右孩子存在,则把与右孩子结点的连线删除。再查看分离后的二叉树,若其根节点的右孩子存在,则连线删除……直到所有这些根节点与右孩子的连线都删除为止。
② . 将每棵分离后的二叉树转换为树。

树和二叉树的知识点考前总结相关推荐

  1. 【数据结构Note5】- 树和二叉树(知识点超细大全-涵盖常见算法 排序二叉树 线索二叉树 平衡二叉树 哈夫曼树)

    文章目录 5.1 树和二叉树引入 5.1.1 树的概念 5.1.2 树的表示 5.1.3 树中基本术语 5.2 二叉树 5.2.1 概念 5.2.2 二叉树的性质 5.2.3 特殊的二叉树 5.2.4 ...

  2. (数据结构)树和二叉树相关知识点

    1.树的概念及结构 1.1 树的概念 树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合.把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的. ...

  3. 王道数据结构课代表 - 考研数据结构 第五章 树和二叉树 究极精华总结笔记

    本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对数据结构知识点的理解的总结.希望对新一届的计算机考研人提供帮助!!!   关于对 树和二叉树 章节知识点总结的十分全面,涵括了<王道 ...

  4. 【Python数据结构系列】☀️《树与二叉树-基础知识》——知识点讲解+代码实现☀️

    文章目录 数据结构之树和二叉树 第一部分 树和二叉树的基础知识 1.树和二叉树的定义 1.1 树的定义 1.2 树的基本术语 1.3 二叉树的定义 2.二叉树的性质和存储结构 2.1 二叉树的性质 2 ...

  5. 数据结构知识点总结-树、二叉树、二叉树遍历、满二叉树、完全二叉树、查找二叉树、平衡二叉树、红黑树、B树、B+树

    树 在计算器科学中,树(英语:tree)是一种抽象数据类型或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合.它是由n(n>0)个有限节点组成一个具有层次关系的集合.把它叫做 ...

  6. 【数据结构总结】第五章 树和二叉树(非线性结构)

    第五章 树和二叉树(非线性结构) 提示:本文主要是以思维导图的形式概括数据结构第一章的精华内容,基本不会用到文字性的内容,目的是为了给大家梳理每个重要的知识点的相关概念,方便大家在复盘的时候快速阅读和 ...

  7. 数据结构 5-0 树与二叉树总结

    前言 数据结构复习过程中最先遭遇的磕碰,这一章内容及其多,而且可以考得很难,不仅是代码题,填空题有些也很有难度.主要是四部分内容:树的基本概念.二叉树.树与森林.树的应用.题目以选择题为主,因为代码题 ...

  8. Java开发 - 树(二叉树,二叉排序树,红黑树)

    目录 前言 你好,认识一下,我是树 二叉树与二叉排序树 二叉排序树特点 为什么说二叉排序树查询效率要高于链表呢? 元素的类型 比较器 手写二叉排序树 定义一棵二叉树 增加元素 查询元素 修改元素 删除 ...

  9. 数据结构-树与二叉树-思维导图+小结

    数据结构-树与二叉树-思维导图 1 数据结构-第五章-树与二叉树-思维导图 2 思维导图-补充 3 小结 3.1 知识点小结 3.2 习题小结 1 数据结构-第五章-树与二叉树-思维导图   数据结构 ...

最新文章

  1. hive 语句总结_大数据分析工程师面试集锦4-Hive
  2. 数据挖掘(10):卷积神经网络算法的一个实现
  3. 宝马无人车体验:把司机彻底干掉,有必要吗?
  4. 如何在Ubuntu中使用dpkg命令卸载软件
  5. 字符串格式化---StrFormatter
  6. python培训比较好的机构有哪些-上海python培训比较好的机构
  7. CISSP考试通过,现在开始接受各种恭喜。[10-50]
  8. 哈,又一款超级简单的队列(MQ)实现方案来了~
  9. codeforces F.Fibonacci String Subsequences
  10. vlookup函数练习_为什么职场要学excel函数?看这个案例演示:自动计算快递价格...
  11. MySQL数据库基础(数据表的SELECT操作)
  12. 8025枚BTC在未知钱包间转移 价值约3.09亿美元
  13. C/C++[codeup 1926]EXCEL排序
  14. 网站服务器建立数据库连接时出错,修复Wordpress博客网站“建立数据库连接时出错”错误记录 | 科技爱好者博客 -专注于树莓派(Raspberry Pi)...
  15. Part I. S1. 模糊集及其运算
  16. Mobilenet-ssd 目标检测
  17. 多线段几何图形—— 简单几何图形(判断一个点是否在图形的内部)
  18. 安装redhat 8.0红帽系统
  19. Java读取批量Excel文件
  20. C语言和Bash脚本实现身份证号码尾号验证

热门文章

  1. 麦轮全向移动平台参数校准
  2. pr无法创建图像缓冲区_解决pr、ae无法建立图像缓冲区,未指定的绘图错误。
  3. ROS kinetic环境使用Realsense D435i获取三维点云并存为.pcd文件
  4. 决策树之建立一棵树(代码模板)防止过拟合、剪枝参数
  5. 无盘服务器多机启动慢,网卡PNP驱动兼容问题导致无盘客户机启动获取DHCP后白条时间长、滚动圈数多、黑屏时间...
  6. Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org
  7. 碉堡了的kotlin扩展函数
  8. 黑马程序员 交通灯管理系统
  9. IIS无法下载wgt apk文件问题
  10. httpPrinter--vue--打印