postfix-3.4.19.
2017/9/7 3:02:15 19.57MB postfix
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
《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
编译好的ffmpeg类库文件,32位版本,输入版本号为ffmpegversionN-99305-gbc0e776Copyright(c)2000-2020theFFmpegdevelopersbuiltwith用于x86的Microsoft(R)C/C++优化编译器19.27.29112版包含类库avcodec.lib、avdevice.lib、avfilter.lib、avformat.lib、avresample.lib、avutil.lib、postproc.lib、swresample.lib、swscale.lib及相应dll及头文件.
2020/4/14 9:44:40 11.03MB ffmpeg ffmpeglib ffmpegdll ffmpegapi
1
小波分析理论与matlab7完成,飞思科技产品研发中心编著,共十九章
2017/9/27 6:52:14 15.72MB 小波分析 matlab
1
精通并发与netty视频教程(2018)视频教程。
精通并发与netty视频教程(2018)视频教程netty视频教程Java视频教程目录:1_学习的要义2_Netty宏观理解3_Netty课程大纲深度解读4_项目环境搭建与Gradle配置5_Netty执行流程分析与重要组件介绍6_Netty回调与Channel执行流程分析7_Netty的Socket编程详解8_Netty多客户端连接与通信9_Netty读写检测机制与长连接要素10_Netty对WebSocket的支援11_Netty实现服务器端与客户端的长连接通信12_GoogleProtobuf详解13_定义Protobuf文件及消息详解14_Protobuf完整实例详解15_Protobuf集成Netty与多协议消息传递16_Protobuf多协议消息支援与工程最佳实践17_Protobuf使用最佳实践与ApacheThrift介绍18_ApacheThrift应用详解与实例剖析19_ApacheThrift原理与架构解析20_通过ApacheThrift实现Java与Python的RPC调用21_gRPC深入详解22_gRPC实践23_GradleWrapper在Gradle项目构建中的最佳实践24_gRPC整合Gradle与代码生成25_gRPC通信示例与JVM回调钩子26_gRPC服务器流式调用实现27_gRPC双向流式数据通信详解28_gRPC与Gradle流畅整合及问题处理的完整过程与思考29_Gradle插件问题处理方案与Nodejs环境搭建30_通过gRPC实现Java与Nodejs异构平台的RPC调用31_gRPC在Nodejs领域中的静态代码生成及与Java之间的RPC通信32_IO体系架构系统回顾与装饰模式的具体应用33_JavaNIO深入详解与体系分析34_Buffer中各重要状态属性的含义与关系图解35_JavaNIO核心类源码解读与分析36_文件通道用法详解37_Buffer深入详解38_NIO堆外内存与零拷贝深入讲解39_NIO中Scattering与Gathering深度解析40_Selector源码深入分析41_NIO网络访问模式分析42_NIO网络编程实例剖析43_NIO网络编程深度解析44_NIO网络客户端编写详解45_深入探索Java字符集编解码46_字符集编解码全方位解析47_Netty服务器与客户端编码模式回顾及源码分析准备48_Netty与NIO系统总结及NIO与Netty之间的关联关系分析49_零拷贝深入剖析及用户空间与内核空间切换方式50_零拷贝实例深度剖析51_NIO零拷贝彻底分析与Gather操作在零拷贝中的作用详解52_NioEventLoopGroup源码分析与线程数设定53_Netty对Executor的实现机制源码分析54_Netty服务端初始化过程与反射在其中的应用分析55_Netty提供的Future与ChannelFuture优势分析与源码讲解56_Netty服务器地址绑定底层源码分析57_Reactor模式透彻理解及其在Netty中的应用58_Reactor模式与Netty之间的关系详解59_Acceptor与Dispatcher角色分析60_Netty的自适应缓冲区分配策略与堆外内存创建方式61_Reactor模式5大角色彻底分析62_Reactor模式组件调用关系全景分析63_Reactor模式与Netty组件对比及Acceptor组件的作用分析64_Channel与ChannelPipeline关联关系及模式运用65_ChannelPipeline创建时机与高级拦截过滤器模式的运用66_Netty常量池实现及ChannelOption与Attribute作用分析67_Channel与ChannelHandler及ChannelHandlerContext之间的关系分析68_Netty核心四大组件关系与构建方式深度解读69_Netty初始化流程总结及Channel与ChannelHandlerContext作用域分析70_Channel注册流程深度解读71_Channel选择器工厂与轮询算法及注册底层实现72_Netty线程模型深度解读与架构设计原则73_Netty底层架构系统总结与应用实践74_Netty对于异步读写操作的架构思想与观察者模式的重要应用75_适配器模式与模板方法模式在入站处理器中的应用76_Netty项目开发过程中常见且重要事项分析77_JavaNIOBuffer总结回顾与难点拓展78_Netty数
2018/11/3 6:48:04 108KB 精通并发 netty 视频教程 高并发
1
论坛终结者,1.论坛终结者一款基于主流的discuz,phpwind框架,t贴吧,今日头条,QQ部落,房天下,猫扑,汽车之家,爱卡汽车,太平洋电脑网,太平洋汽车网,天涯社区,天涯博客,新浪博客,新浪微博,新浪股吧,东方财富股吧,虎扑,水木社区,腕表之家,19楼等一系列论坛开发的自动发帖回帖软件。
持续更新支持更多论坛。


2.支持包括数字字母类型的验证码,有计算成绩的自动识别。
3.支持一个论坛多个账号批量发帖回帖。
4.支持多个论坛循环发帖,多个论坛帖子循环顶贴。
5.支持添加多条不同帖子发帖回帖。
6.发帖后保存帖子地址到回帖区域。



7.导出帖子功能8.搜索论坛功能
2016/4/22 14:31:24 18.53MB 论坛终结者 发帖回帖软件
1
psv黑商铺pkgj、NPS_Browser缓存文件,更新于2021-1-19参考:https://mp.csdn.net/editor/html/112471090
2016/6/12 6:49:01 2.79MB psv pkgj NPS
1
AN平台中端人证及访客V1.0项目DSP设计文档.SpecialVH264.rar评分:引出人家话匣的能力A君:关键词:趣闻。
此君记忆力很强,经常把自己周围同学或自己听到的好笑的趣事,笑话记在脑里,然后每次聚会时就信手拈来,引得大家哄堂大笑,一下子就暖场了。
B君:关键词:分享自己无关痛痒的隐私。
B君和姐妹聊天时,就喜欢讲自己无足轻重无关痛痒的私事,分享自己最近的喜怒哀乐,比如最近和bf发生的一点很细小矛盾但最终和平处理了。
既让人觉得很交心,又无大后果。
C君:关键词:提问。
没什么话时,打破僵局的永远是几个爱提问问题的朋友,尤其提问对方的家庭,家人的近况,给自己制造话题,也表达自己的关心
2015/6/20 14:56:53 391KB c++
1
一、班级基本情况本班共有42名学生,其中男生19人,女生23人。
经过一个学期的学习,培养、教育。
学生对学校生活基本适应,能按时上学,懂得要遵守学校的规章制度,做一个好学生。
我对学生有了一定的了解。
但是一年级学生由于年龄小,自控力差。
因而,我仍把培养学生的良好习惯作为首要任务,着重培养学生的卫生习惯、讲文明礼貌习惯,自主学习的习惯。
2018/11/6 2:25:22 25KB 一年级下册班主任工作计划2
1
共 587 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡