原理参考《算法导论》,我借用了stl中的deque类,这样方便构造书中说的有序队列Q。其次,本博客的所有代码都采用C和C++混编形式,所以建议使用VS2015及其以上版本编译代码。 代码如下 声明一个Huffman类以及对应的节点数据 对应的成员函数实现 Huffman_init成员函数,构建Huf ...
分类:
其他好文 时间:
2018-06-15 15:49:07
阅读次数:
185
输入是各个叶子节点的值,第一个是数值的个数,然后先序遍历这棵树 ...
分类:
其他好文 时间:
2018-05-22 22:04:33
阅读次数:
155
主要的学习内容 在本章中,主要学习了二叉树的实现以及各种遍历的方法。着重介绍了前序、中序、后序三种遍历方法的递归实现,同时也描述了前序中序遍历的迭代方法。 教材的主要内容 教材是以哈夫曼编码树为主要脉络,进行介绍的。这部分还未看完。 心得 感觉这章还偏基础,简单一些。更多的是讲述一些遍历这种基础操作 ...
分类:
其他好文 时间:
2018-05-17 21:13:39
阅读次数:
155
转自:https://www.cnblogs.com/mcgrady/p/3329825.html 什么是霍夫曼树 构建过程 编码 什么是霍夫曼树? 哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。 它们的带权路径长度分别为: 图a: WPL=5*2+7*2+2*2+13*2=54 图b: ...
分类:
其他好文 时间:
2018-05-15 11:51:42
阅读次数:
178
实验环境:win10,VC++ 6.0 使用语言:C/C++ 实验内容一:编写程序,完成二叉树的先序创建、先序遍历、中序遍历和后序遍历等操作 Binary.h Binary.cpp 实验内容二:以实验内容一所示链表为存储结构,编写程序实现求二叉树节点个数、叶子节点个数、二叉树的高度以及交换二叉树所有 ...
分类:
其他好文 时间:
2018-05-09 12:18:07
阅读次数:
166
1.学习总结(2分) 1.1树结构思维导图 1.2 树结构学习体会 学了这么久的树,觉得树是一个很神奇也很复杂的东西,光是构造就有很多种,再加上各种遍历,对我来说是一道需要攻破的难关,首先呢要充分的学习递归的调用,递归熟了,树就攻下了大半了,其中树的一些复杂的构造,如:哈夫曼树的构造,线索二叉树的构 ...
分类:
其他好文 时间:
2018-05-06 23:27:33
阅读次数:
235
算法分类合集 ACM 所有算法 数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列双端队列可并堆左偏堆 二叉查找树Treap伸展树 并查集集合计数问题二分图的识别 平衡二叉树 二叉排序树 线段树一维线段树二维线段树 树状数组一维树状数组N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 ...
分类:
编程语言 时间:
2018-05-06 01:40:10
阅读次数:
228
1.学习总结 1.1树结构思维导图 使用思维导图将树结构的知识点串在一起。树中的每个知识点需细化到每个操作如何实现。 1.2 树结构学习体会 1,感觉树很有趣,但有时自己会犯迷糊,自己的想象能力不足 2,多结合图型更方便理解,也更容易记忆 3,多在草稿纸上画图,这样能够帮助理解 4,在二叉树的函数中 ...
分类:
其他好文 时间:
2018-05-05 21:48:19
阅读次数:
290
1.学习总结 1.1树结构思维导图 1.2 树结构学习体会 学习树这一章节大量地用到了递归算法,虽然是几行代码就解决的事情,但是在写之前要考虑清楚递归结束的标志是什么,每一步的递归需要做什么,这些都是需要认真仔细思考的。当熟悉之后树似乎也不是那么难,但是对于处理表达式树、线索树、哈夫曼树、并查集还存 ...
分类:
其他好文 时间:
2018-05-05 20:47:55
阅读次数:
176