一、课程设计题目:哈夫曼树应用二、课程设计要求:1) 从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;
2) 利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件Text.txt中的正文进行编码,然后将结果存入文件Code.txt中。
3) 利用已建好的哈夫曼树将文件Code.txt中的代码进行译码,结果存入文件Text.txt中,并输出结果。
三、进度安排1.分析问题,给出数学模型,选择数据结构。
2.设计算法,给出算法描述,给出源程序清单。
3.编辑、编译、调试源程序,撰写课程设计报告。
四、基本要求1.界面友好,函数功能要划分好2.总体设计应画一流程图3.程序要加必要的注释4.要提供程序测试方案5.程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
目录1•设计目的 32.需求分析 42.1哈夫曼编码/译码器简介 42.2.问题描述 42.3需求分析 43.概要设计 53.1问题分析哈夫曼树的定义 54.详细设计 64.1系统框架图 64.2总体流程图 74.3编码函数 84.4译码函数 104.5运行结果 115.调试分析 136.小结 14参考文献 15附录:源程序代码 16
1
为了获得瓦(W)级546nm波段的连续激光输出,采用高功率激光二极管(LD)端面泵浦Nd:YAG激光晶体,通过谐振腔反射镜膜系的特殊设计,在单通道双共振腔内获得Nd:YAG激光器的1073.8nm和1112.1nm两条谱线同时运转,并通过在腔内插入非线性光学晶体三硼酸锂(LBO)进行腔内和频,获得546.3nm绿光连续输出。
当抽运光功率为24W时,输出的546.3nm绿光功率高达1.58W,其光-光转换效率为6.6%。
调节LBO方位角,还可以分别获得1073.8nm和1112.1nm的倍频光537nm和556nm输出。
1
针对电动汽车动力电池组长期不能完全充满而影响其使用寿命,设计了一种光伏电池车载充电装置,能够对动力电池组长时间小电流涓流充电以改善其充电状态,同时部分补充电池组能量,延长电动汽车续航里程与使用寿命。
采用TMS320F2808DSP芯片作为控制核心、以BOOST升压变换器作为主电路的硬件设计方案,完成了主要元器件的选型和参数整定,对设计参数进行了仿真验证和优化,并研制了样机。
制定了高性能算法与控制策略,既能完成光伏电池最大输出功率的跟踪,又能提高电池的充电效率,并基于MATLAB平台完成了DSP嵌入式应用程序设计,生成代码。
配备了车载监控系统,实现良好的人机交互功能。
实验结果表明:该装置性能稳定,光伏电池最大输出功率跟踪速度快,稳态误差小,效率高,并具有防止电池组过充电保护,人性化的人机交互平台,有很强的实用性。
2024/10/22 5:18:11 10.53MB ti
1
设计任务:大学的每个专业都要制定教学计划。
假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。
每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。
每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。
每门课恰好占一个学期。
试在这样的前提下设计一个教学计划编制程序。
设计要求:(1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。
(2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;
二是使课程尽量可能地集中在前几个学期中。
(3)若根据给定的条件问题无解,则报告适当的信息;
否则将教学计划输出到屏幕。
计划的表格格式自行设定。
1
activiti5.22版本内置接口,包含接口地址、方法类型、输入参数、输出参数等
2024/10/21 2:34:37 137KB activiti5.22 activiti api
1
本程序可进行控制台的输出颜色改变,不是全屏改变,而是仅对部分输出的字符进行改变,非常简单,命令和CMD中的color相似,可以嵌入bat批处理中使用详细请运行colorc/?
2024/10/20 8:41:15 794KB cmd 控制台
1
应用matlab自带的聚类算法进行聚类,输入为特征矩阵,输出为聚类图,可以清楚地看到聚类的个数,每一类所含的样本个数
2024/10/20 3:52:16 522B matlab 聚类 源代码
1
带饱和函数的二阶跟踪微分器,二阶跟踪微分器是一个这样的动态系统:对它输入一个信号v(t),它将输出两个信号x1和x2,其中x1是跟踪v(t),从而x2作为v(t)的“近似微分”
2024/10/19 5:31:34 20KB simulink SONTD
1
实验一:词法分析一、实验目的通过设计一个具体的词法分析程序,加深对词法分析原理的理解。
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的内部编码及单词符号自身值。
二、实验预习提示1、 词法分析器的功能和输出格式词法分析器的功能是输入源程序,输出单词符号。
词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。
本实验中,采用的是一类符号对应一个种别码的方式。
2、 单词的BNF表示---_----_----_-+---_--等等3、 模块结构(见课本P95-96)(可根据自己的理解适当修改)三、实验过程和指导:(一) 准备:1. 阅读课本有关章节,明确语言的语法,写出基本保留字、标识符、常数、运算符、分隔符和程序例。
2. 初步编制好程序。
3. 准备好多组测试数据。
(二) 上机:(三) 程序要求:1. 要求用C++Builder或者Dephi或者VC、VB等可视化编程工具编写;
要求有界面(即一般windows下应用程序界面)。
2. 输入为某语言源代码。
程序输入/输出示例:如源程序为C语言。
输入如下一段:main(){inta,b;a=10;b=a+20;}要求输出如下(并以文件形式输出)。
(2,”main”)(5,”(“)(5,”)“)(5,”{“}(1,”int”)(2,”a”)(5,”,”)(2,”b”)(5,”;”)(2,”a”)(4,”=”)(3,”10”)(5,”;”)(2,”b”)(4,”=”)(2,”a”)(4,”+”)(3,”20”)(5,”;”)(5,”}“)注:为右大括号要求(可根据实际情况加以扩充和修改):识别保留字:if、int、for、while、do、return、break、continue等等,单词种别码为1。
其他的标识符,单词种别码为2。
常数为无符号数,单词种别码为3。
运算符包括:+、-、*、/、=、>、=、<=、!=;
单词种别码为4。
分隔符包括:“,”“;
”“(”“)”“{”“}”等等,单词种别码为5。
(四) 程序思路(仅供参考):0. 定义部分:定义常量、变量、数据结构。
1. 初始化:从文件将源程序输入到字符缓冲区中。
2. 取单词前:去掉多余空白。
调用过程GETNB();3. 提取字符组成单词,利用课本P97图4.5转换图构造单词扫描过程SCAN(),需要根据实际情况加以修改。
4. 判断单词的种别码,调用过程LOOKUP();5. 显示(导出)结果。
2024/10/19 0:44:54 433KB 编译原理 词法分析实验
1
模拟NMEA格式的GPS数据,用于串口测试
2024/10/18 19:34:19 6.43MB GPS,数据输出,模拟器
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡