利用二叉树结构实现赫夫曼编/解码器。
基本要求:1、 初始化(Init):能够对输入的任意长度的字符串s进行统计,统计每个字符的频度,并建立赫夫曼树2、 建立编码表(CreateTable):利用已经建好的赫夫曼树进行编码,并将每个字符的编码输出。
3、 编码(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输出。
4、 译码(Decoding):利用已经建好的赫夫曼树对编码后的字符串进行译码,并输出译码结果。
5、 打印(Print):以直观的方式打印赫夫曼树(选作)6、 计算输入的字符串编码前和编码后的长度,并进行分析,讨论赫夫曼编码的压缩效果。
测试数据:IlovedataStructure,IloveComputer.IwilltrymybesttostudydataStructure.
2024/7/7 12:54:21 5KB 赫夫曼
1
csdn找了半天没有直接可以用的代码。
这个压缩包解开放一个文件夹可以直接用。
直接在command里面输入[s_box,inv_s_box,w,poly_mat,inv_poly_mat]=aes_init;2plaintext_hex={’00’’11’’22’’33’’44’’55’’66’’77’...3’88’’99’’aa’’bb’’cc’’dd’’ee’’ff’};4plaintext=hex2dec(plaintext_hex);5ciphertext=cipher(plaintext,w,s_box,poly_mat);6re_plaintext=inv_cipher(ciphertext,w,inv_s_box,inv_poly_mat);plaintext明文cipehertext密文re_plaintext解密key在aes_init修改实测可用
2024/6/29 0:57:23 4KB matlab AES
1
intmain(void){delay_init();//延时函数初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(115200);//串口初始化为115200LED_Init();//初始化与LED连接的硬件接口TM1637_Init();while(1){delay_ms(1);//延时1msTM1637_NixieTubeDisplay();TM1637_NixieTubeDisplayChar(1,0);//第一位显示1TM1637_NixieTubeDisplayChar(2,1);//第二位显示2TM1637_NixieTubeDisplayChar(3,2);//第三位显示3TM1637_NixieTubeDisplayChar(4,3);//第四位显示4}}
2024/6/28 16:21:43 2.55MB STM32 TM1637 四段数码管
1
opengl20面体#include#defineX.525731112119133606#defineZ.850650808352039932staticGLfloatvdata[12][3]={//各顶点坐标{-X,0.0,Z},{X,0.0,Z},{-X,0.0,-Z},{X,0.0,-Z},{0.0,Z,X},{0.0,Z,-X},{0.0,-Z,X},{0.0,-Z,-X},{Z,X,0.0},{-Z,X,0.0},{Z,-X,0.0},{-Z,-X,0.0},};staticGLuinttindices[20][3]={//构成各面(三角形)的顶点索引{1,4,0},{4,9,0},{4,5,9},{8,5,4},{1,8,4},{1,10,8},{10,3,8},{8,3,5},{3,2,5},{3,7,2},{3,10,7},{10,6,7},{6,11,7},{6,0,11},{6,1,0},{10,1,6},{11,0,9},{2,11,9},{5,2,9},{11,2,7},};voiddisplay(){glClear(GL_COLOR_BUFFER_BIT);glBegin(GL_TRIANGLES);for(inti=0;i<20;++i){glColor3f(1.0,1.0,i*1.0/20);//颜色设置glVertex3fv(&vdata;[tindices[i][0]][0]);glVertex3fv(&vdata;[tindices[i][1]][0]);glVertex3fv(&vdata;[tindices[i][2]][0]);}glEnd();glFlush();}voidinit(){glClearColor(0.0,0.0,0.0,0.0);}intmain(intargc,char**argv){glutInit(&argc;,argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);glutInitWindowSize(250,250);glutInitWindowPosition(100,100);glutCreateWindow("Polygon");init();glutDisplayFunc(display);glutMainLoop();return0;}
2024/6/21 7:15:38 749B opengl 20面体
1
function[CellSpace_nextstepVehicleSpace]=TrafficSimulating(SimTime,TimeStep,CellSpace_current,CellSpace_nextstep,VehicleSpace,VMAX)%TRAFFICSIMULATINGSummaryofthisfunctiongoeshere%仿真程序主体CellSpace_Init=CellSpace_nextstep;%读取信号配时数据SignalCycleMat=load('SignalCycleInfo.ini');sCycle=SignalCycleMat(1);%周期长度sGreenTime=SignalCycleMat(2);%绿灯时长sRedTime=SignalCycleMat(3);%红灯时长%%是否加载换道模型LaneChangingModelINIMat=load('LaneChangingModeInfo.ini');UseLaneChangingModelFlag=LaneChangingModelINIMat(1);end
2024/6/20 7:51:30 2KB 元胞自动机 交通
1
无论您刚接触电脑还是一个有经验的程序员,本书都将有助您学习使用Python语言。
目录表前言本书的读者本书的由来本书目前的状况官方网站约定条款欢迎给我反馈值得思考的一些东西1.介绍简介Python的特色概括为什么不使用Perl?程序员的话2.安装PythonLinux和BSD用户Windows®用户概括3.最初的步骤简介使用带提示符的解释器挑选一个编辑器使用源文件输出它如何工作可执行的Python程序获取帮助概括4.基本概念字面意义上的常量数字符串变量标识符的命名数据类型对象输出它如何工作逻辑行与物理行缩进概括5.运算符与表达式简介运算符运算符优先级计算顺序结合规律表达式使用表达式概括6.控制流简介if语句使用if语句它如何工作while语句使用while语句for循环使用for语句break语句使用break语句continue语句使用continue语句概括7.函数简介定义函数函数形参使用函数形参局部变量使用局部变量使用global语句默认参数值使用默认参数值关键参数使用关键参数return语句使用字面意义上的语句DocStrings使用DocStrings概括8.模块简介使用sys模块字节编译的.pyc文件from..import语句模块的__name__使用模块的__name__制造你自己的模块创建你自己的模块from..importdir()函数使用dir函数概括9.数据结构简介列表对象与类的快速入门使用列表元组使用元组元组与打印语句字典使用字典序列使用序列引用对象与引用更多字符串的内容字符串的方法概括10.解决问题——编写一个Python脚本问题解决方案版本一版本二版本三版本四进一步优化软件开发过程概括11.面向对象的编程简介self类创建一个类对象的方法使用对象的方法__init__方法使用__init__方法类与对象的变量使用类与对象的变量继承使用继承概括12.输入/输出文件使用文件储存器储存与取储存概括13.异常错误try..except处理异常引发异常如何引发异常try..finally使用finally概括14.Python标准库简介sys模块命令行参数更多sys的内容os模块概括15.更多Python的内容特殊的方法单语句块列表综合使用列表综合在函数中接收元组和列表lambda形式使用lambda形式exec和eval语句assert语句repr函数概括16.接下来学习什么?
2024/6/15 13:07:56 1.27MB Phyton 教程
1
Matlab-Wifi仿真例子WiFi_lib.mdlWiFi.mdlWiFi_init.m
1
程序:C#非接触IC卡M1卡读写调试程序适用机型:明华HRF-35,URF-R330程序语言:C#作者:王龙www.sskee.com讯思科软件出品该程序以读写明华HRF-35,URF-R330为例,向学习非接触式IC编程的朋友们提供编程源码范例,通过学习,深入了解.netC#调用mwrf32.dll,进一步了解M1非接触IC卡的内部数据结构。
本程序在MicrosoftVisualStudio2010环境下编写。
问与答:1、运行程序时,提示“不安全代码只会在使用/unsafe编译的情况下出现”。
解决:打开项目属性(在窗口右边的解决方案资源管理器里,鼠标右键项目名称card,弹出菜单,点击属性)在属性对话框里找到“生成”页面,常规项里勾选“允许不安全代码”,保存。
2、运行程序时,提示“对PInvoke函数“card!card.urf::rf_init”的调用导致堆栈不对称。
原因可能是托管的PInvoke签名与非托管的目标签名不匹配。
请检查PInvoke签名的调用约定和参数与非托管的目标签名是否匹配。
”解决:打开项目属性(在窗口右边的解决方案资源管理器里,鼠标右键项目名称card,弹出菜单,点击属性)在属性对话框里找到“应用程序”页面,将目标框架选择为“。
NETFrameword3.5ClientProfile”,保存。
2024/5/8 2:29:44 107KB 非接触 IC卡 Mifarel卡 mwrf32.dll
1
最近发现了一款PS切图神器—Cutterman。
Cutterman支持CC及以上版本,安装前请确保PS版本正确。
默认安装路径(C:\Users\Administrator\AppData\Roaming\Adobe\CEP\extensions\cutterman\jsx)。
安装过程:运行cutterman.exe->安装;
打开PS->菜单栏->文件->脚本->浏览(在打开的对话框中选择当前文件夹下的init.jsx文件)->安装完成后重启PS即可。
2024/4/27 22:18:09 365KB Cutterman
1
通过IO模拟I2C总线,控制DS1337芯片,包括以下功能:(1)DS1337_RTC_Init,DS1337初始化,初始化I2C的IO(2)Print_RTC_Time,读取RTC时间信息,通过很小资源的S_Printf函数打印到串口。
“2013年11月15日,23:29:41,星期五”为实际打印效果拷贝(3)DS1337_Write,用于修改DS1337的寄存器(4)DS1337_RTC_Time[7]数组存储最新的RTC时间,格式在源程序中有详细注释,很方便
2024/4/23 14:08:23 2KB DS1337 MSP430
1
共 93 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡