自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (15)
  • 收藏
  • 关注

原创 大学生回家必做的六件事

1、在父母面前,不能生气。无论是你得知在学校考试全挂了,还是你最爱的人给你提出分手,你都不能有一丝不高兴的样子,因为这不是父母的错;哪怕就算是是父母生气拿我们来出气,我们也不能有情绪,毕竟你是父母的唯一,你的表情情绪直接牵动着父母,何况是春节… 2、陪父母一起笑。当父母看到一个电视镜头、一句笑话、或是你的一个动作…她们笑的时候,你要陪着一起笑,父母内心深处最想的还是你的笑,不要觉得这个不好

2010-01-08 21:59:00 821

赫夫曼编码(C语言版本)

#include #define MAXBIT 2000 /*定义哈夫曼编码的最大长度*/ #define MAXVALUE 1000 /*定义最大权值*/ #define MAXLEAF 256 /*定义哈夫曼树中最多叶子节点个数*/ #define MAXNODE MAXLEAF*2-1 /*哈夫曼树最多结点数*/ typedef struct { /*哈夫曼编码结信息的构*/ char bit[MAXBIT]; int start; }Hcodetype; typedef struct { /*哈夫曼树结点的结构*/ int weight; int parent; int lchild; int rchild; char ch; }Hnodetype; char ch[MAXVALUE*5]; static int numbers; int number=0; char varyCh[MAXLEAF]; int weight[MAXLEAF]; int pos[256]; int root; char allHc[MAXVALUE*20]; /*----------分析输入的字符串--------------*/ void analyze(char ch[],int numbers,char varyCh[],int weight[],int& number){ int temp[256]={0}; int n=0; for(int i=0;i<numbers;i++){ temp[(int)ch[i]]++; } for(int j=0;j<256;j++){ if(temp[j]!=0){ varyCh[n]=(char)j; weight[n]=temp[j]; pos[j]=n; n++; } } number=n; } void huffmantree(Hnodetype huffnode[MAXNODE]) /*构造哈夫曼树的函数*/ { int i,j,m1,m2,x1,x2; analyze(ch,numbers, varyCh, weight,number); for(i=0;i<number;i++) /*存放哈夫曼树结点的数组huffnode[]初始化*/ { huffnode[i].weight=weight[i]; huffnode[i].parent=-1; huffnode[i].lchild=-1; huffnode[i].rchild=-1; huffnode[i].ch=varyCh[i]; } for(i;i<2*number;i++){ huffnode[i].weight=0; huffnode[i].parent=-1; huffnode[i].lchild=-1; huffnode[i].rchild=-1; } /* for(i=0;i<n;i++) /*输入入N个叶子节点的权值 { printf("please input %d character's weight\n",i); scanf("%d",&huffnode[i].weight); } */ for(i=0;i<number-1;i++){/*开始循环构造哈夫曼树*/ m1=m2=MAXVALUE; //m1拥有最小值 x1=x2=0; //记录一次循环后找到最小和次小节点的位置 for(j=0;j<number+i;j++){ if(huffnode[j].weight<m1&&huffnode[j].parent==-1) { m2=m1;x2=x1;m1=huffnode[j].weight;x1=j; } else if(huffnode[j].weight<m2&&huffnode[j].parent==-1) { m2=huffnode[j].weight;x2=j; } } huffnode[x1].parent=number+i; huffnode[x2].parent=number+i; huffnode[number+i].weight=huffnode[x1].weight+huffnode[x2].weight; huffnode[number+i].lchild=x1; huffnode[number+i].rchild=x2; } } void unhanffman(Hnodetype huffnode[]){ //根据哈夫曼树和所有字符的编码进行译码 int i=0; int r=root; //指向根节点 while((allHc[i]!=NULL)){ if(allHc[i]=='0')r=huffnode[r].lchild; else r=huffnode[r].rchild; if(huffnode[r].lchild==-1&&huffnode[r].rchild==-1) { printf("%c",huffnode[r].ch); r=root; } i++; } printf("\n\n"); } void main() { Hnodetype huffnode[MAXNODE]; Hcodetype leafcode[MAXLEAF],cd; int i,j,c,p,num=0,posite,allhc=0; char temp; printf(" 赫夫曼编码的应用 \n\n"); printf(" ○○○○○○○○○○○○○○○○○○○○○○○○○ "); printf("\n\n"); printf(" ●请输入字符串并以#号结束"); //scanf("%d",&n); /*输入叶子节点个数*/ /*----------循环接受字符-------------------*/ while((ch[num]=getchar())!='#'){ num++; } numbers=num; //得到字符个数----------------- huffmantree(huffnode); /*建立哈夫曼树*/ FILE *fp; if(!(fp=fopen("D:\\text1.txt","w"))) { printf("文件打开失败!"); } for(i=0;i<number;i++) /*该循环求每个叶子节点对应字符的哈夫曼编码*/ { cd.start=number-1;c=i; p=huffnode[c].parent; while(p!=-1) //逆向求叶子节点哈夫曼编码左0右1 { if(huffnode[p].lchild==c) cd.bit[cd.start]='0'; else cd.bit[cd.start]='1'; cd.start--;c=p; p=huffnode[c].parent; root=c; } //循环结束p指向根节点 for(j=cd.start+1;j<number;j++) /*保存求出的每个叶节点的哈夫曼编码和编码的起始位*/ { leafcode[i].bit[j]=cd.bit[j]; fputc(leafcode[i].bit[j],fp); } leafcode[i].start=cd.start; //leafcode[i].ch=huffnode[i].ch; } printf("\n"); printf(" --------------------------------------------------------------- \n"); printf("\n"); for(i=0;i<number;i++) /*输出每个叶子节点的哈夫曼编码*/ { printf(" ☆字符:%c",huffnode[i].ch); printf(" 次数:%d",huffnode[i].weight); printf("\n"); printf(" ★'%c'字符的编码是:",huffnode[i].ch); for(j=leafcode[i].start+1;j<number;j++) printf("%c",leafcode[i].bit[j]); printf("\n"); } fclose(fp); printf("\n"); printf(" --------------------------------------------------------------- \n"); printf("\n"); printf(" ☆字符串被编码成为:"); if(!(fp=fopen("D:\\text1.txt","r"))) { printf("文件打开失败!"); } for(i=0;i<numbers;i++) /*所有字符的哈夫曼编码*/ { temp=ch[i]; posite=pos[(int)temp]; for(j=leafcode[posite].start+1;j<number;j++) { printf("%c",leafcode[posite].bit[j]); allHc[allhc]=leafcode[posite].bit[j]; allhc++; } } printf("\n\n"); printf(" --------------------------------------------------------------- \n"); printf("\n"); printf(" ★译码的结果如下:"); unhanffman(huffnode); fclose(fp); }

2009-03-03

组成原理 数据通路实验

数据通路组成实验 一、实验目的 (1)将双端口通用寄存器组和双端口存储器模块联机; (2)进一步熟悉计算机的数据通路; (3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法; (4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。 二、实验电路

2009-12-15

教务辅助管理系统——数据库课程设计

设计的全部的流程 ER图 数据流图 程序流程图 数据字典 等等

2010-03-04

复杂模型机的设计与实现报告 组成原理

包含前言、摘要、数据通路图、微程序流程图、实验截图以及心得体会等。

2010-03-07

expression3.0 破解DLL

复制SLDL_DLL.dll到各个产品的安装目录,覆盖原有文件就可以了,本人已经验证有效!

2010-03-15

人事管理系统分析报告

人事管理系统分析与概述 【摘要】信息技术为企业的发展提供了机遇,也带来了挑战。如何改良企业内部经营机制,公正、客观、全面、快捷地评估员工的业绩,实现以人为本的经营战略,提高人事管理工作的效率,使人事管理员有更多的精力去做人力资源分析、研究和开发工作,是企业立足发展,开拓未来,领先同行业的关键。本文叙述了一个人事管理系统形成的全过程,包括部分演示。 【关 键 词】RAD、OLE、powerbulid 8.0、sql server 2000 1引言 随着计算机技术、网络技术和信息技术的发展,越来越多地改善着现代人的观念。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在我国的许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。 基于这种情况,我研究开发了这套人事管理系统,希望这套系统能为学校的人事管理带来更多的方便。 2 系统需求分析及可行性研究

2009-12-15

财务管理信息系统源码

整个项目的源码都有 该系统实现了居多功能

2010-01-08

JAVA人事管理系统

可以运行,可以看到源代码,还有非常详细的报告

2010-03-04

图书馆管理系统分析报告

系统内部框架及数据字典 1.1 信息分类及相互关系 中国人民大学图书馆信息系统是围绕学校图书馆的各项业务活动而建立的,其中涉及的信息大体上可以分为四类:业务过程信息、读者信息、费用信息和管理信息。其中业务过程信息是指完成业务所产生的过程控制信息,如借阅信息、书刊出入库信息等,都是局部信息;读者信息是指在读者整个在校期间需要在整个系统范围内共享的信息,是基本信息;管理信息是由基本信息和业务过程信息加工得到的,如读者流动情况、书刊平均借阅天数、效率分析等,是派生信息。读者借阅活动和各类信息之间的关系 1.2 贯穿系统的两条信息线 集成各局部系统的重要目标是确保整个系统不随着局部系统的改变而改变,不随着新系统的加入而发生大的变化。找出图书馆信息系统的内在联系,确立好各局部系统之间的接口,是实现这一目标的前提。 贯穿整个图书馆信息系统有两条信息线:读者信息线和费用信息线。以此为框架来构造和集成整个系统。 证件信息包括读者主索引、借阅记录等等;费用信息包括在各个环节发生的各类费用及消耗成本等。 这两条信息线在系统中体现为具体的数据结构,它独立于各局部系统而存在。从整体的、发展的角度来构筑好这一基础框架是本系统数据结构的核心。 2. 各子系统的数据流程图及数据字典 2.1财务管理子系统 功能:负责全馆财务、物资采购及发放、安全保卫及卫生清洁等工作。其中财务管理包括:全馆人员工资、奖金发放及经费管理。 流程: 罚款收据 读者ID 结算数据 罚单 罚 收 财 调 单 据 务 整 工资报表 会计凭证 采购计划预算数据 会计凭证 现金额 财务调整 财务调整 资金 采购资料 批准/不批准 审 批准 / 查 不批准 需配置及初始化的表:

2009-11-30

企业人事管理系统 JAVA

包含所有的类和CLASS文件,可以看到源代码的。用Eclipse打开可以运行。

2010-03-07

wpf入门教程 创建你的第一个wpf项目

WPF入门教程系列(一) 创建你的第一个WPF项目 WPF基础知识 快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识: 1) C#基础语法知识(或者其他.NET支持的语言):这个是当然的了,虽然WPF是XAML配置的,但是总还是要写代码的,相信各位读者应该也都有这个基础了。 2) HTML语言:虽然WPF是窗体程序但是由于使用的XAML语言,如果以前接触过HTML、XHTML、ASP.NET之路的东西的话会,接受这些标签会很有帮助的,如果以前一直是从事win form开的人来说可能就要适应一下了。 3) 对C#中的代理、事件要做到熟练掌握,在.NET 3.0 版本后有增加了Routed Events,要想日后不糊涂,这个是基础。 4) 有一定的winform或ASP.NET经验,主要是对控件事件的处理要有写了解。 5) 拥有良好的面向对象的思想:思想是语言的升华(本人的OO思想完全是Java中领悟来的)。在WPF中,经常要灵活运用各种继承关系、多态、重载等,因此一定要把基础知识打牢固。

2009-11-30

JAVA 学生信息管理系统

系统可以顺利的运行,可以看到源代码,用Eclipse设计,包含所有的素材。

2010-03-07

C#宿舍管理信息系统

有关宿舍管理信息系统课程设计的项目,实现了所有基本的功能

2010-01-08

c#图书馆管理系统源码

实现的添加 删除 查询 数据库备份等居多功能

2010-01-08

组成原理课程设计之复杂模型机的设计与实现

包含组成原理课程设计之复杂模型机的设计与实现的任务书 封面 正文 成绩评定等四个WORD文档。很详细,

2010-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除