采用优先队列把一个普通线性表改造成赫夫曼树,再进行赫夫曼编码,得到一个同时记录了明文和对应编码的密码本。使用优先队列(最小堆)构造赫夫曼树是一种高效的方法,比每次都遍历整个线性表要快很多。我在构造密码本时确保密码本数组递增排序,这样每次插入新结点时可以折半查找插入,效率较高。有序的密码本在把明文编码成密文时也可以大大提高查找效率。...
分类:
其他好文 时间:
2014-09-28 16:14:43
阅读次数:
319
实践的成果要通过博文的形式发表,为自己的成长做记录,为大家的交流建平台。要重视这样一种形式。 “算法达人修炼营”实践作品博文标题中要体现数据结构、存储方式、实现基本操作等。例如,针对《给数据结构初学者:跨过算法和程序之间的鸿沟》的内容,标题应该是“线性表-顺序存储-初始化及遍历操作的实现”。了解算....
分类:
其他好文 时间:
2014-09-27 21:42:30
阅读次数:
279
1、因为人数不定,所以需要用到线性表或者链表,粗看之下,链表似乎效率高(事实貌似未必。。。)2、用一个package存放链表的定义,其中MyList为接口,MyAbstractList 实现接口,MyLinedList 继承MyAbstraList3、刚百度了下接口和继承的区别,原来java不能多重...
分类:
编程语言 时间:
2014-09-27 19:34:30
阅读次数:
221
数据结构:
栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。
操作系统:
由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
栈使用的...
分类:
其他好文 时间:
2014-09-26 20:30:58
阅读次数:
678
数据结构:
栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。
操作系统:
由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
栈使用的...
分类:
其他好文 时间:
2014-09-26 20:30:48
阅读次数:
150
数据结构:
栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。
操作系统:
由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
栈使用的是一级缓存, 他...
分类:
其他好文 时间:
2014-09-26 19:43:38
阅读次数:
168
c语言和c++混合写的,主要是那个清华大学吴伟民,严蔚敏的书也是这个写的
{CSDN:CODE:475887}...
分类:
其他好文 时间:
2014-09-26 19:34:46
阅读次数:
134
之前对Java Se中的线性表作了简单的说明。这一篇就来看看Map。Map系列的类,并不是说所有的类都继承了Map接口,而是说他们的元素都是以形式设计的。Dictionary这个类现在不推荐使用了,但也有必要说一下,在它的描述中,有这么一句:Any non-null object can be us...
分类:
编程语言 时间:
2014-09-26 17:59:08
阅读次数:
211
1 #!/usr/bin/env python 2 # conding=utf8 3 import sys 4 5 class Linelist: 6 7 def __init__(self,length=11): 8 self.list = [] 9 ...
分类:
编程语言 时间:
2014-09-26 01:09:08
阅读次数:
525
#includeusing namespace std;struct LinkNode{ int value; LinkNode* next; LinkNode* pre;};LinkNode* createDoubleRoundLinkList(){ LinkNode* head...
分类:
其他好文 时间:
2014-09-24 22:20:17
阅读次数:
193