采用优先队列把一个普通线性表改造成赫夫曼树,再进行赫夫曼编码,得到一个同时记录了明文和对应编码的密码本。使用优先队列(最小堆)构造赫夫曼树是一种高效的方法,比每次都遍历整个线性表要快很多。我在构造密码本时确保密码本数组递增排序,这样每次插入新结点时可以折半查找插入,效率较高。有序的密码本在把明文编码成密文时也可以大大提高查找效率。...
分类:
其他好文 时间:
2014-09-28 16:14:43
阅读次数:
319
C++中的队列,模板队列,实现了入队,出队,查询大小等功能。用模板实现的。...
分类:
编程语言 时间:
2014-09-25 17:36:59
阅读次数:
218
题目:用两个队列实现栈。思路:可能看了我的《用两个栈实现队列》的那篇文章后,很多人都会想到“反向的反向等于正向”的思想,但“正向的正向还是正向”,因此我们不能用上篇文章的思想。在这里,我们要开动脑筋,另辟蹊径。设有两个队列q1和q2,我们把它看成一个整体,即从..
分类:
其他好文 时间:
2014-09-25 17:27:30
阅读次数:
162
分析:该题是经典的队列题目,直接用队列实现就可以。如果数据范围大一些的话还可hash判重! 这可以说是一道送分的题目,但是还有粗心的学生会在这里失分,主要原因是数组的范围定义的不合适,因为空间足够用,在考试中数据范围要稍大一些。当然还有个别同学是因为模拟失误了,这种送分题目我只能说,一定要多对...
分类:
其他好文 时间:
2014-09-20 18:05:39
阅读次数:
184
题意:有一个4*4的方格,每个方格中放一粒棋子,这个棋子一面是白色,一面是黑色。游戏规则为每次任选16颗中的一颗,把选中的这颗以及它四周的棋子一并反过来,当所有的棋子都是同一个颜色朝上时,游戏就完成了。现在给定一个初始状态,要求输出能够完成游戏所需翻转的最小次数,如果初始状态已经达到要求输出0。如果不可能完成游戏,输出Impossible。
思路:因为方格只有4*4,直接枚举所有状态,用队列实现...
分类:
其他好文 时间:
2014-09-14 12:55:37
阅读次数:
269
基本数据结构主要包括:栈、队列、链表和有根树。10.1 栈和队列栈和队列都是动态集合,且在其上进行DELETE操作所移除的元素时预先设定的。在栈中,被删除的是最近插入的元素:栈实现的是一种后进先出(LIFO)策略。队列实现的是一种先进先出(FIFO)策略。栈栈上的INSERT操作称为压入(PUSH)...
分类:
其他好文 时间:
2014-09-07 12:13:05
阅读次数:
281
用两个队列实现,交叉使用,达到判断层的目的 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right...
分类:
其他好文 时间:
2014-09-06 23:47:44
阅读次数:
261
pthread_cond_wait 和socket数据信息的队列实现...
分类:
其他好文 时间:
2014-09-05 10:03:21
阅读次数:
143
//构建队列#includeusing namespace std;struct queuenode{int data;queuenode* next;};class queue{private:queuenode* head;public:queue(){head=new queuenode;he...
分类:
编程语言 时间:
2014-09-01 10:29:32
阅读次数:
205
Java自定义一个线程安全的有界阻塞缓存队列,实现生产者消费者问题。
分类:
编程语言 时间:
2014-08-26 13:32:06
阅读次数:
162