今天小编就为大家分享一篇python生成任意频率正弦波方式,具有很好的参考价值,希望对大家有所协助。
一起跟随小编过来看看吧
2016/5/5 21:26:51 49KB python 生成正弦波
1
问题描述:利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。
但是,这要求在发送端通过一个编码系统对待传数据预先编码;
在接收端将传来的数据进行译码(复原)。
对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。
试为这样的信息收发站写一个哈夫曼码的编译码系统。
基本要求:一个完整的系统应具有以下功能:(l)I:初始化(Initialization)。
从终端读入字符集大小n,及n个字符和m个权值,建立哈夫曼树,并将它存于文件hfmtree中。
(2)C:编码(Coding)。
利用已建好的哈夫曼树(如不在内存,则从文件hfmtree中读入),对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中。
(3)D:编码(Decoding)。
利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。
(4)P:印代码文件(Print)。
将文件codefile以紧凑格式显示在终端上,每行50个代码。
同时将此字符方式的编码文件写入文件codeprint中。
(5)T:印哈夫曼树(Treeprinting)。
将已在内存中的哈夫曼树以直观的方式(树或凹入表方式)显示在终端上,同时将此字符方式的哈夫曼树写入文件treeprint中。
实现提示根据题目要求把程序划成5个模块,设计成菜单方式,每次执行一个模块后返回菜单。
除了初始化(I)过程外,在每次执行时都经过一次读取磁盘文件数据。
这是为了如果在程序执行后一直没有进行初始化(I)过程,为了能使后面的操作顺利进行,可以通过读取旧的数据来进行工作。
比如:如果程序的工作需要的字符集和权值数据是固定的,只要在安装程序时进行一次初始(I)化操作就可以了。
再在次运行程序时,不管进行那项操作都可以把需要的数据读入到内存。
算法分析本程序主要用到了三个算法。
(1)哈夫曼编码在初始化(I)的过程中间,要用输入的字符和权值建立哈夫曼树并求得哈夫曼编码。
先将输入的字符和权值存放到一个结构体数组中,建立哈夫曼树,将计算所的哈夫曼编码存储到另一个结构体数组中。
(2)串的匹配在编码(D)的过程中间,要对已经编码过的代码译码,可利用循环,将代码中的与哈夫曼编码的长度相同的串与这个哈夫曼编码比较,如果相等就回显并存入文件。
(3)二叉树的遍历在印哈夫曼树(T)的中,因为哈夫曼树也是二叉树,所以就要利用二叉树的先序遍历将哈夫曼树输出。
[测试数据]根据实验要求,在tobetrans.dat中输入"THISPROGRAMISMYFAVORITE",字符集和其频度如下:字符 __ A B C D E F G H I J K L M频度 186 64 23 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z 频度 20 56 19 2 50 51 55 30 10 11 2 21 2
2021/11/10 18:15:21 4KB 课程设计 c/c++ 哈夫曼树 编码
1
杨淑英版《电力系统分析复习指点与习题精编》,配合电力系统分析第四版书使用。
2015/4/2 19:19:44 90.39MB 电力系统分析
1
这是3GPP最新版的amr编解码的C源代码,支持多个平台(Linux,win,sun),对于学习amr编解码原理有很大协助。
2021/5/3 10:09:14 813KB 3GPP amr amr-nb 编解码
1
清华大学出版社《C#课程计划案例精编》的光盘源码包括10个案例
2017/4/24 1:16:48 17.38MB c# 课程设计 案例 源码
1
《openssl编程》当前版本,在以前的基础上增加了椭圆曲线补充。
第一章 基础知识 81.1 对称算法 81.2 摘要算法 91.3 公钥算法 91.4 回调函数 11第二章 openssl简介 132.1 openssl简介 132.2 openssl安装 132.2.1 linux下的安装 132.2.2 windows编译与安装 142.3 openssl源代码 142.4 openssl学习方法 16第三章 堆栈 173.1 openssl堆栈 173.2 数据结构 173.3 源码 183.4 定义用户自己的堆栈函数 183.5 编程示例 19第四章 哈希表 214.1 哈希表 214.2 哈希表数据结构 214.3 函数说明 234.4 编程示例 25第五章 内存分配 275.1 openssl内存分配 275.2 内存数据结构 275.3 主要函数 285.4 编程示例 29第六章 动态模块加载 306.1 动态库加载 306.2 DSO概述 306.3 数据结构 316.4 编程示例 32第七章 抽象IO 347.1 openssl抽象IO 347.2 数据结构 347.3 BIO函数 367.4 编程示例 367.4.1 membio 367.4.2 filebio 377.4.3 socketbio 387.4.4 mdBIO 397.4.5 cipherBIO 407.4.6 sslBIO 417.4.7 其他示例 42第八章 配置文件 438.1 概述 438.2 openssl配置文件读取 438.3 主要函数 448.4 编程示例 44第九章 随机数 469.1 随机数 469.2 openssl随机数数据结构与源码 469.3 主要函数 489.4 编程示例 48第十章 文本数据库 5010.1 概述 5010.2 数据结构 5110.3 函数说明 5110.4 编程示例 52第十一章 大数 5411.1 引见 5411.2 openssl大数表示 5411.3 大数函数 5511.4 使用示例 58第十二章 BASE64编解码 6412.1 BASE64编码引见 6412.2 BASE64编解码原理 6412.3 主要函数 6512.4 编程示例 66第十三章 ASN1库 6813.1 ASN1简介 6813.2 DER编码 7013.3 ASN1基本类型示例 7013.4 openssl的ASN.1库 7313.5 用openssl的ASN.1库DER编解码 7413.6 Openssl的ASN.1宏 7413.7 ASN1常用函数 7513.8 属性证书编码 89第十四章 错误处理 9314.1 概述 9314.2 数据结构 9314.3 主要函数 9514.4 编程示例 97第十五章 摘要与HMAC 10015.1 概述 10015.2 openssl摘要实现 10015.3 函数说明 10115.4 编程示例 10115.5 HMAC 103第十六章 数据压缩 10416.1 简介 10416.2 数据结构 10416.3 函数说明 10516.4 openssl中压缩算法协商 10616.5 编程示例 106第十七章 RSA 10717.1RSA引见 10717.2 openssl的RSA实现 10717.3 RSA签名与验证过程 10817.4 数据结构 10917.4.1RSA_METHOD 10917.4.2 RSA 11017.5 主要函数 11017.6编程示例 11217.6.1密钥生成 11217.6.2 RSA加解密运算 11317.6.3签名与验证 116第十八章 DSA 11918.1DSA简介 11918.2 openssl的DSA实现 12018.3 DSA数据结构 12018.4 主要函数 12118.5 编程示例 12218.5.1密钥生成 12218.5.2签名与验证 124第十九章DH 12619.1 DH算法引见 12619.2 openssl的DH实现 12719.3数据结构 12719.4 主要函数 12819.5 编程示例 129第二十章
2018/2/16 22:25:54 354KB openssl
1
上传一个完全由自己用C语言编的超市管理系统,并带有实验报告,虽然该系统很简单,还有很多需要改进的,但是这是自己完全由自己编的,程序量达到一千五百多行,费了我一个多星期,对于自己本人很有纪念意义的。
今天拿出来让大家分享一下,希望能对初学这有所协助。
2015/6/1 3:22:34 80KB C语言 超市管理系统
1
网龙(中国)公司网页编辑的笔试题,相关成绩和上机操作都在这里面
2018/1/4 7:50:07 1.45MB 网龙 笔试
1
在mathcad编的六极54槽永磁同步发机电计算程序,做了具体的传统磁路计算,可以为机电设计者提供一定的参考
2015/1/13 21:22:29 43KB mathcad
1
本人本人花了一整天编的NFA转换为DFA的程序,算法来至编译原理教材(陈意云)
2017/6/17 21:18:19 531KB NFA转换为DFA
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡