一 . 需求分析: 1) 输入形式和输入值范围: 输入形式是要压缩(或者要解压)的文件路径,输入范围是字符串,而且要是文件的路径。 2) 输出形式: 输出相应的编码压缩文件和解码原文件 3) 程序所能达到的功能: 利用哈夫曼对ASCII文件做不等长编码,达到压缩文件。利用哈夫曼树的遍历,达到解压文件的目的。程序的功能也就是实现压缩和解压ASCII类型文件的目的。 4)测试数据:(包括正确的输入数据及其输出结果和含有错误输入及其输出结果) 测试输入或者输出文本框是不是有空的,是不是不是有效路径。进行条件判断,实现错误处理。 比如要压缩:c:\a.txt 文件路径就是:c:\a.txt。如果输入框是空的,就判断,然后用MessageBox处理信息。 如果文件路径和文件的输出路径都写正确的话,就会输出相应的压缩或者解压文件,否则用函数MessageBox提示错误。然后进行更正。 二 . 概要设计: 1) 哈夫曼树的特点 a) 是二叉树的一种,而且是一种没有度数是1的二叉树 b) 一棵树有n个叶子,就会用2n-1个节点 c) 一种“最优”二叉树,由于树的带权路径(WPL)最小 d) 由于它是由下到上顺序构造的,使得分支节点和叶子节点从下到上,权值都是从小到大的顺序排列的
上传时间: 2013-12-03
上传用户:zsjzc
一 . 需求分析: 1) 输入形式和输入值范围: 输入形式是某集体的“人名”,输入的是人名的拼音,而且字符长度不超过19。 2) 输出形式: 输出相应的“人名”哈希表,并实现查找的功能,且平均查找长度不超R. 3) 程序所能达到的功能: 利用哈希函数对“人名”拼音做编码,建立哈希表。并实现查找的功能,且平均查找长度不超R。 4)测试数据:(包括正确的输入数据及其输出结果和含有错误输入及其输出结果) 测试输入是不是有效的。进行条件判断,实现错误处理。 如果输入是正确的话,就会按程序的5个功能一步步建立起哈希表、查看哈希表、哈希表的查找。否则用函数MessageBox提示错误。然后进行更正。 二 . 概要设计: 1) 哈希表的特点 a) 据哈希函数和处理冲突的方法将一组关键字映像到一个有限的区间上 b) 以关键字在地址集中的“像”作为记录在表中的存储位置 c) 不经过任何比较,一次存取便能得到所查记录
上传时间: 2014-01-08
上传用户:498732662
单片机RS232/RS485串行发送实验(双机通讯)。 实验步骤: (1),准备两台598K实验机,确定1号机为发送,2号机为接收; (2),当作RS232接口实验时,1号机和2号机的P3.0和P3.1交叉相连,且两机共地; (3),当作RS485接口实验时,1号机和2号机的A、B作对应连接,同时1,2号机的R/TEN接P1.0, P3.0接R0, P3.1接DI。 (4),先运行2号机,键入[27]-->[EV]使2号机处于接收状态P。,后运行1号机[26]-->[EV]使1号机处于发送状态,P。会闪烁,在1号机键盘上按动数字键,在2号机的数码管上应显示对应的数字键值。
上传时间: 2015-11-27
上传用户:thinode
按键扫描 51单片机加8279 8279通过74LS 138译码器扩展4×4键盘、6位显示器。 由3-8译码器对SL0~SL2译出键扫描线,由另一3-8译码器译出显示器的位扫描线,并采用了编码扫描方式。 为了防止出现重键现象,扫描输出线高位SL3不参加键扫描译码。CPU对8279的监视采用了查询方式,故8279的中断请求信号IRQ悬空未用。
上传时间: 2014-01-25
上传用户:skfreeman
51单片机电子日历 电子日历,有时间显示、闹铃、日期、秒表及键盘设置功能 功能键A: 设置位数字+1 闹钟模式下为闹钟开关 秒表模式下为记时开关 功能键B: 设置位数字-1 闹钟模式下为闹钟开关 功能键C:设置模式及设置位选择 秒表模式下为清零键 功能键D:在四种工作模式下切换 设置闹钟开关
上传时间: 2013-12-16
上传用户:zycidjl
广州友善2410开发板-2.6.13内核下键盘驱动:广州友善2410开发板仅提供了2.4.18下的驱动,前些日子升级内核时把键盘驱动也更新了一下!通过外部中断(下降沿)的方式读取键盘按键编码值。同时上传了一个简单的测试程序和Makefile文件
上传时间: 2016-01-30
上传用户:coeus
改变键盘中断,并显示按键编码,适合初学者
上传时间: 2016-02-09
上传用户:exxxds
用汇编语言实现的PS/2键盘按键通信程序,能够正确送到主机显示,采用第2套编码方式。
上传时间: 2016-03-15
上传用户:zhuoying119
图的深度遍历,输出结果为(红色为键盘输入的数据,权值都置为1): 输入顶点数和弧数:8 9 输入8个顶点. 输入顶点0:a 输入顶点1:b 输入顶点2:c 输入顶点3:d 输入顶点4:e 输入顶点5:f 输入顶点6:g 输入顶点7:h 输入9条弧. 输入弧0:a b 1 输入弧1:b d 1 输入弧2:b e 1 输入弧3:d h 1 输入弧4:e h 1 输入弧5:a c 1 输入弧6:c f 1 输入弧7:c g 1 输入弧8:f g 1 深度优先遍历: a b d h e c f g 程序结束.
标签:
上传时间: 2016-04-04
上传用户:lht618
编程题(15_01.c) 结构 struct student { long num char name[20] int score struct student *next } 链表练习: (1).编写函数struct student * creat(int n),创建一个按学号升序排列的新链表,每个链表中的结点中 的学号、成绩由键盘输入,一共n个节点。 (2).编写函数void print(struct student *head),输出链表,格式每行一个结点,包括学号,姓名,分数。 (3).编写函数struct student * merge(struct student *a,struct student *b), 将已知的a,b两个链表 按学号升序合并,若学号相同则保留成绩高的结点。 (4).编写函数struct student * del(struct student *a,struct student *b),从a链表中删除b链表中有 相同学号的那些结点。 (5).编写main函数,调用函数creat建立2个链表a,b,用print输出俩个链表;调用函数merge升序合并2个 链表,并输出结果;调用函数del实现a-b,并输出结果。 a: 20304,xxxx,75, 20311,yyyy,89 20303,zzzz,62 20307,aaaa,87 20320,bbbb,79 b: 20302,dddd,65 20301,cccc,99 20311,yyyy,87 20323,kkkk,88 20307,aaaa,92 20322,pppp,83
上传时间: 2016-04-13
上传用户:zxc23456789