本目录下的源代码均属示例、教学性质。作者不对这些代码的功能和性能作任何担保或承诺。 -------- 功能说明 -------- 本目录下的程序用8种不同的方式实现了Huffman编码算法,这8种方式分别是 * huffman_a 使用链表结构生成Huffman树的算法,这是最基本的实现方法,效率最低。 * huffman_b 使用《数据结构》(严蔚敏,吴伟民,1997,C语言版)中给出的算法,将二叉树存放在连续空间里(静态链表),空间的每个结点内仍有左子树、右子树、双亲等指针。 * huffman_c 使用Canonical Huffman编码,同时对huffman_b的存储结构进行改造,将二叉树存放在连续空间tree里,空间的每个结点类型都和结点权值的数据类型相同,空间大小为2*num,tree[0]未用,tree[1..num]是每个元素的权值,生成Huffman后,tree[1..2*num-1]中是双亲结点索引。 * huffman_d 在huffman_c的基础上,增加预先排序的功能先用QuickSort算法对所有元素的权值从小到大排序,这样,排序后最前面的两个元素就是最小的一对元素了。我们可以直接将它们挑出来,组合成一个子树。然后再子树的权值用折半插入法插到已排序的元素
上传时间: 2013-12-20
上传用户:franktu
查错问题 文件名:check.* 输入文件:check.in(文本文件,选手按规定格式自行创建) 输出文件:check.out(文本文件) 问题描述: 很多英文文本编辑软件都具有辅助查错功能。现在有一个标准的词库,请根据该标准词库编制程序实现查错功能。 输入格式: 从文本文件check.in中读入数据。 第一行一个整数N(N≤10000),表示标准词库中单词的个数。 第2--N+1行,每行一个标准单词,单词的长度不超过10。 第N+2行开始为待查文本,其单词间用空格(或连续空格)分隔,单词的个数不会超过1000。 输出格式: 输出到文本文件check.out中。 (1)第一行开始输出拼错的单词; (2)最后一行输出一个整数表示拼错的单词总数。(拼错相同的单词重复计数) 注意:如果一个单词在字典中无法找到,那么我们就认为这个单词拼错了。 输入样例: 3 like this we we like the sport 输出样例: the sport
上传时间: 2013-11-28
上传用户:2404
void Knight(int i , int j) { // printf("%d %dn",i,j) if (board[i][j] != 0 || i < 0 || i >= Size || j < 0 || j >= Size ) { return } step++ board[i][j]=step if (step == Size*Size) { showboard() system("PAUSE") return } //DFS Knight(i-2,j-1) //left Knight(i-2,j+1) Knight(i+2,j-1) //right Knight(i+2,j+1) Knight(i-1,j-2) //up Knight(i+1,j-2) Knight(i+1,j+2) //down Knight(i-1,j+2) // board[i][j]=0 step-- }
上传时间: 2014-01-17
上传用户:cxl274287265
狗狗影视搜索小偷,支持界面自定义,支持迅雷下载,代码精炼,功能强大! 架设方法: 直接拷贝到目录,运行Index.asp即可! 版本历史: v1.2 2009.1.3 修正搜索错误 加入未搜索到的提示
标签: 搜索
上传时间: 2017-02-04
上传用户:1079836864
//--- --- --- - 音乐简谱播放器--- --- --- - /*奏乐程序使用说明 调用方式: sing fname [speed [times]] 文件名 速度(拍/分) 遍数 简谱文件格式: 第1行: 曲名 节拍 调号 第2行-- 乐谱 (空格,换行无意义,但不得插在一个"音描述"内部) 记号: * 节拍,调号,小节分隔符,终止符,升音符,中音音高,休止符,附点,延长 符等 -- 按照常规. * 音描述 -- [3连音符][升降还原符]音高[高低音后缀][音长][附点][延长符] * 3连音符 -- ^ 只标在第1音前,音长只标在第3音后 (3连音的实际总音长为所标音长的两倍,例如:^323 的总音长为1拍) * 降音符 -- @ * 还原符 -- $ * 高低音后缀 -- H(高音) U(高16度音) 连用音程相加 L(低音) W(低16度音) * 音长 -- 无(1拍) (1/2拍) "(1/4拍) 连用为相乘*/
上传时间: 2014-11-28
上传用户:hj_18
电平转换芯片,贴片封装,5v,2.5v,1.8v
上传时间: 2014-02-12
上传用户:royzhangsz
Google maps切割方法 每个切割的小图片是256*256(像素),常识来判断每个小图片代表的实际区域长宽之比应为2:1,但由于投影不同的存在,其实它是1:1 的,至于中间过程怎么处理的我也没搞明白。 关于51ditu
上传时间: 2014-12-03
上传用户:zuozuo1215
常见的实现方法是使用两个数组, t[n-1]和e[n],数组e存放所有的参加排序的元素,在完全二叉树中是叶子结点,t[]存放 的是比赛的阶段性胜者的编号,再进行n趟比赛排序结束,时间复杂度是O(n*log2(n)), 其实我觉得也可以只通过一个数组A[2*n-1]也可以实现,只是标号的换算有点复杂而已.
上传时间: 2017-05-02
上传用户:dragonhaixm
手机网络纸牌游戏,用户名:mr 密码:mrsoft。牌的大小按下列顺序排列:A、K、Q、J、10、9、8、7、6、5、4、3、2。 1.出牌 (1)每轮只允许出一张牌。 (2)第一局游戏由得到梅花2的一方首先出牌,并且必须出梅花2。 (3)必须先出与首家相同花色的牌,无相同花色时方可用其它花色代替。 (4)最大方得到该轮的所有分牌,并获得本轮先出牌的资格。 2.分值计算 红桃:红桃为分牌。
标签: 手机网络
上传时间: 2014-01-19
上传用户:笨小孩
参加运动会的 个学校编号为 。比赛分成 个男子项目和 个女子项目,项目编号分别为 和 。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。 2、要求产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次(成绩)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。 3、测试数据:对于 , , ,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。
上传时间: 2017-06-05
上传用户:rishian