编写完成重点数据结构和算法: 0.链表 1.栈 2.队列 3.二叉树数据结构和构建 4.前序中序后序遍历二叉树 5.构建哈夫曼树(最优二叉树) 6.图数据结构,图的深度优先遍历和广度优先遍历 7.拓扑排序 8.直接插入排序 9.希尔排序 10.希尔排序 11.冒泡排序 12.快速排序 13.直接选择...
分类:
其他好文 时间:
2015-01-07 01:50:00
阅读次数:
205
写在前面
有很多时候,一些数据的存储不仅需要先进先出,而且还有根据数据的优先级来排序,也就是优先级高的一定先出去,优先级相同的先进先出,此时就会用到优先级队列
应用
其实优先级队列的应用十分广泛,比如说构造哈夫曼树算法,再比如在一些计算机操作系统中用优先级队列来来满足抢先式多任务操作系统等等等等...
分类:
编程语言 时间:
2015-01-04 15:22:06
阅读次数:
226
0-1背包问题:
给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大?
在选择装入背包的物品时,对每种物品i只有2种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。
背包问题:
与0-1背包问题类似,所不同的是在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全...
分类:
其他好文 时间:
2015-01-03 17:26:21
阅读次数:
297
/*
霍夫曼编码
哈夫曼树(Huffman Tree),又叫最优二叉树,指的是对于一组具有确定权值的叶子结点的具有最小带权路径长度的二叉树
1.数据移动时无符号不同于有符号,右移要默认为0
2.文件操作以字节为最小单位。凑足写入,最后多一个字节写上次剩余多少
3.区分叶子节点与内部节点,8个字符的最长路径为7
无符号类型的应用,位操作在有符号时候会带符号操作,当系统使用文本方式打开文件后,会对...
分类:
其他好文 时间:
2015-01-02 09:50:26
阅读次数:
196
此乃我的数据结构课程设计“二叉树操作系统”-哈夫曼树头文件部分,完整版的请到我的资源处下载,免费的哦~...
分类:
其他好文 时间:
2015-01-01 13:39:26
阅读次数:
180
既然我们要学习赫夫曼树,那么我们首先就要知道什么叫赫夫曼树。那么什么叫赫夫曼树呢?一、什么叫赫夫曼树?书上说:“赫夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,但是我们仅学习最优二叉树。”看到这个还是不明白什么意思,因此在学习之前我们要结合这个图了解几个基本概念。路 径:由一结点....
分类:
其他好文 时间:
2014-12-31 22:44:57
阅读次数:
215
?1,霍夫曼编码描述哈夫曼树─即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。 在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称“熵编码法”),用于数据的无损耗压缩。这一术语是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编...
分类:
编程语言 时间:
2014-12-30 23:36:36
阅读次数:
382
接修复损坏的gzip压缩文件之原理篇,再次引用GZIP结构图:在上一篇中已知,修复一个损坏的gzip文件的关键环节在于找到下一个正常压缩包的起始点。根据结构图中的信息可知,每个压缩包的开始结构中有是否到达尾部标志、使用的哈夫曼树类型、以及3个哈夫曼树的树元素个数等。如果..
分类:
其他好文 时间:
2014-12-22 19:52:13
阅读次数:
1118
1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int n; 7 int a[20010]; 8 bool cmp(int x,int y) 9 {10 return x>y;11 }12 int m...
分类:
其他好文 时间:
2014-12-20 00:36:37
阅读次数:
164
今晚感觉好爽啊,好久好久没有这种感觉,起床需要点爆发力,做事还需要点动力,给自己都没有下过这么大的决心写代码,帮她却写的很好,我自己都吃惊了。哈哈哈。。。今晚也是帮她写好西邮导航睡不着,那就敲了一下哈夫曼树转化成二叉树的代码,其实理解了真的不难,我定义F为一个二级指针,用它指向结点的地址,创建很简单,输入数据data和权值weight,再把它的左右置为NULL;
初始...
分类:
其他好文 时间:
2014-12-18 09:14:20
阅读次数:
262