前文传送门: 「一本正经的聊数据结构(1):时间复杂度」 「一本正经的聊数据结构(2):数组与向量」 「一本正经的聊数据结构(3):栈和队列」 「一本正经的聊数据结构(4):树」 「一本正经的聊数据结构(5):二叉树的存储结构与遍历」 「一本正经的聊数据结构(6):最优二叉树 ...
前文传送门: 一本正经的聊数据结构 :时间复杂度 一本正经的聊数据结构 :数组与向量 一本正经的聊数据结构 :栈和队列 一本正经的聊数据结构 :树 一本正经的聊数据结构 :二叉树的存储结构与遍历 基础知识 感谢某位在后台留言的同学,让我想起来我还有这个没写完的系列。 在最开始,先了解几个基础概念: 路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。 上面这个二叉树中,根节点 A 到叶子 ...
2020-05-31 09:09 1 491 推荐指数:
前文传送门: 「一本正经的聊数据结构(1):时间复杂度」 「一本正经的聊数据结构(2):数组与向量」 「一本正经的聊数据结构(3):栈和队列」 「一本正经的聊数据结构(4):树」 「一本正经的聊数据结构(5):二叉树的存储结构与遍历」 「一本正经的聊数据结构(6):最优二叉树 ...
前文传送门: 一本正经的聊数据结构(1):时间复杂度 引言 这个系列没有死,我还在更新。 最近事情太多了,这篇文章也是断断续续写了好几天才凑完。 上一篇我们介绍了一个基础概念「时间复杂度」,这篇我们来看第一个真正意义上的数据结构「数组」。 那为什么题目中还会有一个向量呢?这个是什么 ...
前文传送门: 「一本正经的聊数据结构(1):时间复杂度」 「一本正经的聊数据结构(2):数组与向量」 引言 前一篇内容我们介绍了数组和向量,虽然说向量是数组的一个升级版,但是在另一个维度上,他们都属于线性结构。 那么什么是线性结构呢? 线性结构是一个有序数据元素的集合。常用的线性 ...
最近有很多的小朋友问我什么是哈夫曼编码,哈夫曼编码是一种可变字长的编码,那什么是可变字长呢?就是一句话里的每一个字符(ASCII码)它的位数(长度)是不一样的。就像我们一句话(AAAACCCCCDDDDBBE)有A,B,C,D,E五种字符,在这里我们可以用01表示A字符,用001表示B字符,用11 ...
【转载】只为让价值共享,如有侵权敬请见谅! 一、哈夫曼树的概念和定义 什么是哈夫曼树? 让我们先举一个例子。 判定树: 在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制一个程序,将百分制转换成五个等级输出 ...
思路来源:https://www.bilibili.com/video/BV18t411U7Tb?from=search&seid=13776480377358559786 ...
赫夫曼树的介绍(写的不好地方大佬请指教) 最优二叉树又称哈夫曼树,是带权路径最短的二叉树。根据节点的个数,权值的不同,最优二叉树的形状也不同。 图 6-34 是 3 棵最优二叉树的例子,它们共同的特点是带权节点都是叶子节点,权值越小,就离根节点也远,那么我们是如何构建这颗最优二叉树 步骤 ...
最近在翻炒一些关于树的知识,发现一个比较有意思的二叉树,huffman树,对应到离散数学中的一种名为最优二叉树的路径结构,而Huffman的主要作用,最终可以归结到一种名为huffman编码的编码方式,使用huffman编码方式,我们可以以平均长度最短的码字来记录一串信息,且每个信息分子的编码 ...