二叉树
二叉树的学习
📄️ 树的定义
对树进行了详尽的讲解,包括定义、层级、子树、子节点、父节点、兄弟节点、前驱节点、后继节点等。
📄️ 二叉树基础
二叉树是有序树,分空树、单节点树、多节点树等。有满二叉树、完全二叉树、平衡二叉树等类型。存储方式有顺序和链式存储。遍历方式包括前序、中序、后序和层次遍历。应用于哈夫曼树、二叉搜索树等。
📄️ 哈夫曼树
本文详细讲解了哈夫曼树的原理,哈夫曼树是一种最优的编码树,也就是说,在进行信息传输时,信息的传输速度为最快的一种方式。
📄️ 哈夫曼编码
哈夫曼编码是一种使用变长编码表对数据进行编码的方法,目的是使得编码后的平均码长最小,从而实现数据压缩。它是通过构建一个哈夫曼树来实现的,树中每个叶子节点代表一个字符,权重(频率)高的字符会有较短的编码,而权重低的字符会有较长的编码。
📄️ 堆
堆的定义、大根堆和小根堆的构造、插入、删除、查找,图文并茂+代码演示,最后提供了一个堆应用的难题。
📄️ 二叉排序树
本文介绍了二叉排序树的基本原理及实现。包括其特点(左子树结点值小于根,右子树大于根,左右子树也是二叉排序树)、查找(成功和失败过程)、创建和插入(关键在于向空树插入结点)、删除(分无孩子、只有左或右子树、左右子树都有三种情况讨论),还提供了相关代码。