搜档网
当前位置:搜档网 › 词频统计实验报告材料

词频统计实验报告材料

词频统计实验报告材料
词频统计实验报告材料

南京邮电大学

算法与数据结构设计

(2015 / 2016 学年第二学期)题目:词频统计分析系统

专业

学生姓名

班级学号

指导教师

指导单位

日期

词频统计分析系统

一、课题内容和要求

我要完成的题目是算法与数据结构设计中的题目,实验的目的是通过实践来学习,使学生加深对课内所学的有关数据的逻辑结构和存储表示、数据结构的选择和应用、算法的设计和时空效率分析等课程基本内容的理解;另外,在程序设计过程中还会用到C语言编程环境以及程序的调试和测试方面的知识,因此我们会受到比较系统和严格的训练。

此次实验是要实现一个英文文档的词频统计分析系统。要求能对任意一段英文文档统计出所给字母、数字、空格的个数,并给出分布图或表。同时能对手动输入的字母和单词进行词频统计。要求给出相应的算法时间复杂度分析。通过实习可以提高我们自己的学习能力、通过查阅资料、同时也可以提高我们独立分析问题和解决问题的能力。

二、数据结构说明

在该部分中叙述你选用的每种逻辑数据结构

通常我们把数据的逻辑结构简称为数据结构,数据的逻辑结构分为两大类:线性结构和非线性结构。

三、算法设计

在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明)。

四、详细设计

实验程序设计如下:

#include

#include

#include

#include

using namespace std;

#define MAX 1024 //全局固定变量MAX 1024 typedef struct{ //定义结构体

char word[32];

int num;

} wordlist;

wordlist wl[MAX];

int wordnum=0;

void tongji()

{

char st[32]; //定义自变量

int found;

char c;

int i;

int m=0,n=0,j=0,k=0;

FILE *fp; // 定义文件指针

if((fp=fopen("14220105.txt","r"))==NULL)

exit(1);

while(fscanf(fp,"%s",st)!=EOF)

{

found=0;

for(i=0;i

{

if(strcmp(wl[i].word,st)==0) //字符串的读取

{

wl[i].num++;

found=1;

break;

}

}

if(!found)

{

strcpy(wl[i].word,st);

wl[i].num=1;

wordnum++;

}

}

fclose(fp);

if((fp=fopen("14220105.txt","r"))==NULL)

exit(1);

while((c=fgetc(fp))!=EOF)

{

if(c==' ') // 数字及空格的读取

++n;

else if(c>='0'&&c<='9')

++j;

else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

++k;

else ++m;

}

fclose(fp);

printf("读取完毕,结果如下:\n");

printf(" 数字%d\n 字母%d\n 空格%d\n 其他%d\n",j,k,n,m );// 输出结果}

void shuru()

{

char str[100];

char letter[52];

int count[52]={0};//初始化计数器

int i;

int lc=0;//记录字母总数

cout<<"输入字符串:"<

scanf("%s",str);

//初始化字母表

for(i=0;i<26;i++)

letter[i]='A'+i;

for(i=26;i<52;i++)

letter[i]='a'+i-26;

i=0;

while(str[i]!='\0')//字符串未结束

{

if(str[i]>='A' && str[i]<='Z')// 写字母

{

count[str[i]-65]++;//假设str[i]=='A', 'A'-65等于0 count[0]自增1 lc++;

}

if(str[i]>='a' && str[i]<='z')// 写字母

{

count[str[i]-97+26]++;//'a'==97,前面26 写所加26

lc++;

}

i++;

}

for(i=0;i<52;i++)//显示统计情况

{

if(count[i]!=0)

printf("%c-%d-%3.2f%\n",letter[i],count[i],(float)count[i]/lc*100); }

}

void xuanzhe()

{

printf("1.读档统计\n");

printf("2.输入统计\n");

printf("0.退出\n");//输出退出

printf("选择您所需要的操作:");

}

int main() //主函数

{

int choice;

do

{ xuanzhe();

scanf("%d",&choice);

switch(choice) // switch函数进行循环执行

{

case 0:

return 0;

case 1:

tongji();

break;

case 2:

shuru();

break;

}

}while(1);

}

五、测试数据及其结果分析

程序运行结果1.

2.

3.

时间复杂度为:O(n)

六、调试过程中的问题

每个算法设计和调试时存在问题的思考(问题是哪些?问题如何解决?),以及算法进一步改进的设想。

1.调试过程中发现有丢掉“;”的错误提示,然后在正确的地方加上就可以了。

2.调试的过程中还遇到“{”和“}”对应上的错误,通过把程序中的“{”和“}”

一一对应后加上丢掉的一个“}”这个错误就解决了。

3.

因为编译时没有注意将l打成了1,调试后发现了然后将其改正。

4.

出现一个未知的字符,然后检查过后在主函数中定义了自变量i。

5.

调试时没有错误但是运行时结局不一样,然后经过断点调试,发现没有调用的文件,程序没有运行,然后就在文件夹中创建了一个文本文档。

七、课程设计总结

总结内容包括:

(1)课程设计过程中遇到的问题:

调试过程中发现有丢掉“;”的错误提示,然后在正确的地方加上就可以了。

调试的过程中还遇到“{”和“}”对应上的错误,通过把程序中的“{”和“}”

一一对应后加上丢掉的一个“}”这个错误就解决了。

还有在选择函数的时候会有选择错误的时候,请教同学之后改成正确的函数。

还有写程序的时候会不小心拼写错误或者拼写少了一个字母,使得程序前后不能

对应,出现不能识别的情况,在调试的时候把错误的地方改过来就可以了。(2)课程设计过程的收获和感受。

在这次课程设计的过程中让我深刻认识到自己在程序设计这方面的不足,比如说

完成的过程中充满了各种复杂的情绪,从一点点到最后一个完整的程序,其中有冥思苦想的烦恼与痛苦,也有调试过程中随着错误减少直至程序可以演示的激动和喜悦。同时也感受到同学间的友好和热情,虽然最后的程序有些瑕疵,功能没有全部实现,但每迈出一步都是小小的跨越。在这次程序设计中不仅收获了知识,还锻炼了自己的实践能力,也明白了合作的重要性,同时还牢记了不论做任何事都不能粗心,这样的实验机会对于我们每个人来说都是难得的一次锻炼机会,我们受益匪浅。

《计算方法》课内实验报告

《计算方法》实验报告 姓名: 班级: 学号: 实验日期: 2011年10月26日

一、实验题目: 数值积分 二、实验目的: 1.熟悉matlab 编写及运行数值计算程序的方法。 2.进一步理解数值积分的基础理论。 3.进一步掌握应用不同的数值积分方法求解给定的积分并给出数据结果及误差分析。 三、实验内容: 1.分别用复合梯形求积公式及复合辛普森求积公式计算积分xdx x ln 10 ? , 要求计算精度达到410-,给出计算结果并比较两种方法的计算节点数. 2.用龙贝格求积方法计算积分dx x x ?+3 021,使误差不超过510-. 3.用3=n 的高斯-勒让德公式计算积分?3 1 sin x e x ,给出计算结果. 4.用辛普森公式(取2==M N ) 计算二重积分.5 .00 5 .00 dydx e x y ? ? - 四、实验结果: 1.(1)复合梯形法: 将区间[a,b]划分为n 等份,分点n k n a b h kh a x k ,2,1,0,,=-=+=在每个区间[1,+k k x x ](k=0,1,2,···n-1)上采用梯形公式,则得 )()]()([2)()(1 11 1 f R x f x f h dx x f dx x f I n n k k k b a n k x x k k ++===∑?∑? -=+-=+ 故)]()(2)([21 1 b f x f a f h T n k k n ++=∑-=称为复合梯形公式 计算步长和划分的区间 Eps=1E-4 h1=sqrt(Eps/abs(-(1-0)/12*1/(2+1))) h1 =0.0600 N1=ceil(1/h1) N1 =17 用复合梯形需要计算17个结点。 复合梯形: function T=trap(f,a,b,n) h=(b-a)/n;

统计学实验报告

河南工业大学管理学院 课程设计(实验)报告书题目统计学上机实验 专业物流管理 班级 学生姓名 学号 指导教师 时间:2013 年05 月30 日

实验1:数据整理 一、项目名称:数据整理 二、实验目的 (1)掌握EXCEL中基本的数据处理方法; (2)学会使用Excel进行统计分组,能以此方式独自完成相关作业。 三、实验要求 1、已学习教材相关内容,理解数据整理中的统计计算问题;已阅读本次实验导引,了解Excel中相关的计算工具。 2、准备好一个统计分组问题及相关数据 3、以Excel文件形式提交实验报告。 四、实验内容和操作步骤 (一)问题与数据 某百货公司连续40天的商品销售额如下(单位:万元): 41,25,29,47,38,34,30,38,43,40,46,36,45,37,37,36,45,43,33,44,35,28,46,34,30,37,44,26,38,44,42,36,37,37,49,39,42,32,36,35 根据上面的数据进行适当分组,编制频数分布表,并绘制直方图。 (二)操作步骤 1、在单元区域A2:H6中输入原始数据。 2、并计算原始数据的最大值(在单元格B7)与最小值(在单元格D7)。 3、根据Sturges经验公式计算经验组距(在单元格B8)和经验组数(在单元格D8)。 4、根据步骤3的计算结果,计算并确定各组上限、下限(在单元格)。

5、绘制频数分布表框架 6、计算各组频数 (1)选定B20:B24作为存放计算结果的区域。 (2)从“插入”菜单中选择“函数”项。 (3)在弹出的“插入函数”对话框中选择“统计”函数FREQUENCY. (4)单击“插入函数”对话框中的“确定”按钮,弹出“FREQUENCY”对话框。(5)确定FREQUENCY函数的两个参数的值。其中: Data-array:原始数据或其所在单元格区域(A2:H6) Bins-array:分组各组的上限值或其所在单元格区域(J2:J6) (6)按Shift+Ctrl+Enter组合键 (7)用各种公式计算表中其他各项 (8)作频数分布图 使用EXCEL的“图表向导”工具,结果如图所示

(完整word版)运动会分数统计系统实验报告

运动会分数统计系统的实现 09计科(2)班 E10914044 杨素传 一、设计要求 1、问题描述 参加运动会有n个学校,学校编码为1,2,…,n,比赛分成m个男子项目和w个女子项目。项目编号为男子1,2,…,m,女子m+1,m+2,…,m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别5,3,2;哪些取前五名或前三名由学生自己设定(m<=20,n<=20)。 2、需求分析 (1)可以输入各个项目的前三名或前五名成绩; (2)能统计各学校成绩; (3)可以按学校编号、学校总分、男女团体总分排序输出; (4)可以按学校编号查询学校某项目情况,可以按项目编号查询取得前三名或前五名的学校。 二、概要设计 1、主界面设计 为了实现运动会分数统计系统,设计一个含有多个菜单项的主控菜单子程序以连接系统的各项子程序,方便用户使用本程序。本系统主控菜单运行界面图1所示。 图1 运动会分数统计系统程序主菜单 2、存储结构设计 本程序采用链式存储类型(LNode)存储运动会分数统计系统的节点信息。运动会分数统计系统的链表中的结点包括8个域:项目编号域(objnum)、项目类型(objtype)、运动员编号(athnum)、运动员姓名(athname[20])、学校编号(schnum)、校名(schname[30])、

运动员分数(athscore)和指向下一个节点的指针欲(struct LNode *next)。 3、系统功能设计 本系统设置了8个子功能菜单。8个子功能的设计描述如下: (1)录入各项目的成绩。由函数creatLink()实现。当用户选择该功能时,系统会以用户输入的数据运动会分数统计链表。 (2)统计各学校分数。由函数schoolScore()实现。当用户选择该功能时,系统会统计各学校分数。 (3)按学校编号顺序输出。由函数printfSchoolNumber()实现。当用户选择该功能时,系统会按学校编号顺序输出数据。 (4)按学校总分顺序输出。由函数printfSchoolScore()实现。当用户选择该功能时,系统会按学校总分顺序输出数据。 (5)按男女团体总分顺序输出。由函数printfManWomanScore()实现。当用户选择该功能时,系统会按男女团体总分顺序输出数据。 (6)按学校编号查询学校某项目情况。由函数printfSchoolObject()实现。当用户选择该功能时,系统会按学校编号输出学校某项目情况。 (7)按项目编号查询取得前三名或前五名的学校。由函数printfObjectSchool()实现。当用户选择该功能时,系统会按项目编号查询取得前三名或前五名的学校情况。 (8)退出。由exit(0)函数实现。 三、模块设计 1、模块设计 本程序包含两个模块:主程序模块和工作区选择模块。其调用关系如图2所示。 主程序模块工作区选择模块 图2 模块调用示意图 2、系统子程序及功能设计 本系统共设置个6子程序,各子程序的函数名及功能说明如下。 (1)LinkList creatLink() //创建链表(录入各项目的成绩) (2)int schoolScore(LinkList L) //统计各学校总分 (3)void printfSchoolNumber() //按学校编号顺序输出 (4)void printfSchoolScore() //按学校总分顺序输出 (5)void printfManWomanScore(LinkList L //按男女团体总分排序输出 (6)void printfSchoolObject(LinkList L) //按学校编号查询学校某项目情况 (7)void printfObjectSchool(LinkList L) //按项目编号查询取得前三名或前五名的学校 (8)int main() //主函数 3、函数主要调用关系图 本系统6个子系统之间的主要调用关系如图3所示,图中数字是各函数的编号。

数据结构 哈夫曼编码实验报告

实验报告 实验课名称:数据结构实验 实验名称:文件压缩问题 班级:20132012 学号:姓名:时间:2015-6-9 一、问题描述 哈夫曼编码是一种常用的数据压缩技术,对数据文件进行哈夫曼编码可大大缩短文件的传输长度,提高信道利用率及传输效率。要求采用哈夫曼编码原理,统计文本文件中字符出现的词频,以词频作为权值,对文件进行哈夫曼编码以达到压缩文件的目的,再用哈夫曼编码进行译码解压缩。 二、数据结构设计 首先定义一个结构体: struct head { unsigned char b; //记录字符 long count; //权重 int parent,lch,rch; //定义双亲,左孩子,右孩子 char bits[256]; //存放哈夫曼编码的数组 } header[512],tmp; //头部一要定设置至少512个,因为结 点最多可达256,所有结点数最多可 达511 三、算法设计 输入要压缩的文件读文件并计算字符频率根据字符的频率,利用Huffman 编码思想创建Huffman树由创建的Huffman树来决定字符对应的编码,进行文件的压缩解码压缩即根据Huffman树进行译码 设计流程图如图1.1所示。

图1.1 设计流程图 (1)压缩文件 输入一个待压缩的文本文件名称(可带路径)如:D:\lu\lu.txt 统计文本文件中各字符的个数作为权值,生成哈夫曼树;将文本文件利用哈夫曼树进行编码,生成压缩文件。压缩文件名称=文本文件名.COD 如:D:\lu\lu.COD 压缩文件内容=哈夫曼树的核心内容+编码序列 for(int i=0;i<256;i++) { header[i].count=0; //初始化权重 header[i].b=(unsigned char)i; //初始化字符 } ifstream infile(infilename,ios::in|ios::binary); while(infile.peek()!=EOF) { infile.read((char *)&temp,sizeof(unsigned char)); //读入一个字符 header[temp].count++; //统计对应结点字符权重 flength++; //统计文件长度 } infile.close(); //关闭文件 for(i=0;i<256-1;i++) //对结点进行冒泡排序,权重大的放在上面,编码时效率高 for(int j=0;j<256-1-i;j++) if(header[j].count

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

统计学实验报告

统计学数学实验报告 单因素方差分析 姓名 专业 学号

单因素方差分析 摘要统计学是关于数据的科学,它所提供的是一套有关数据收集、处理、分析、解释数据并从数据中得出结论的方法,统计研究的是来自各个领域的数据。单因素方差分析也是统计学分析的一种。单因素方差分析研究的是一个分类型自变量对一个数值型因变量的影响。关键字单因素、方差、数据统计 方差分析(analysis of variance,ANOVA)就是通过检验各总体的均值是否相等来判断分类型自变量对数值型因变量是否有显著影响。当方差分析中之涉及一个分类型自变量时称为单因素方差分析(one-way analysis of variance). 单因素方差分析研究的是一个分类型自变量对一个数值型因变量的影响。例如要检验汽车市场销售汽车时汽车颜色对销售数据的影响,这里只涉及汽车颜色一个因素,因而属于单因素方差分析。 为了更好的理解单因素方差分析,下面举个例子来具体说明单因素方差所要解决的问题。从3个总体中各抽取容量不同的样本数据,结果如下表1所示。检验3个总体的均值之间是否有显著差异(α=0.01)P29210.1 样本1 样本2 样本3 158 153 169 148 142 158 161 156 180 154 149 169 如果要进行单因素方差分析时,就需要得到一些相关的数据结构,从而对那些数据结构进行分析,如下表2所示: 分析步骤 1.提出假设 与通常的统计推断问题一样,方差分析的任务也是先根据实际情况提出原假设H0与备择假设H1,然后寻找适当的检验统计量进行假设检验。本节将借用上面的实例来讨论单因素试验的方差分析问题。

系列位置效应实验报告

系列位置效应 张心语 2 重复测量的实验设计,自由回忆的范式。选取14名同学作为被试,摘要实验采用2 通过实验,来探究汉语的首因效应来自LTS,而近因效应来自STS。实验假设为实验假设:(1)词表数越多,首因效应、渐近线相对就低,但近因效应不受影响;(2)有干扰作业的实验处理下,首因效应和渐近线不受影响。实验结果由系列位置曲线图说明并证实了假设。关键词首因效应;近因效应;系列位置曲线;短时记忆;长时记忆 1引言 记忆是过去经验在人脑中的反映(杨治良,无日期)。最早詹姆斯(1890年)提出将记忆区分为长时记忆和短时记忆,他的两个因素的理论称为双重记忆理论,在自由回忆的实验中得到了证明其的证据(黄希庭,2007)。其中,系列位置曲线能够清晰的表明首因效应和近因效应。但是它们之间是什么关系,如何作区分,也成为心理学家探讨和研究的问题。 系列位置效应是指识记一系列项目时,项目在系列中的位置对记忆效果的影响(吴艳红,朱滢,1999)。记忆的系列位置效应的测量主要有系列回忆和自由回忆两种方法,如果被试不拘顺序,按照自己的意愿回忆,称为自由回忆。默尔达克(19 6 2年)采用自由回忆来测量人类的记忆,发现被试对一系列学习项目中每个项目的记忆优劣,与该项目在系列中呈现的先后顺序位置有关(黄一宁,1996)。系列位置效应包含两种成分: 一种是最先呈现的材料在回忆时优于中间的材料, 较易被回忆, 遗忘较少, 称之为首因效应; 另一种是最后呈现的材料被提取的可能性最大, 最易被回忆, 遗忘最少, 称之为近因效应(程灶火,王力,2003)。根据双重记忆理论的解释,假设短时记忆为空,开头的词进入时极可能得到大量的复述而进入长时记忆,也就是说从开头到中间位置上的那些单词是从长时记忆中回忆出来的。离词表结束位置越近的单词进入短时记忆的概率越高,因而回忆率就增加了,因为短时记忆中的单词是可以完全回忆出来的,这就产生了近因效应(黄希庭)。 区分长时记忆与短时记忆的证据来自于Postman 和Phillips 的实验(1965),他们的实验重点在于干扰短时记忆进入长时记忆的过程。干扰说是采用顺摄抑制(干扰)及倒摄抑制(干扰)的机制来说明系列位置效应,认为学习者在学习一系列的项目后,在自由回忆系列中的每一个项目时,都会受到其他项目的干扰作用。占系列首位的儿个项目,不受顺摄干扰,只受到随后项目的倒摄干扰。占系列最后的几个项目,不受倒摄干扰,只受到先前项目的顺摄

c 计算器实验报告

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 6.0中建立一个MFC工程文件,名为 calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和单 选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在calculatorDlg.h中添加math.h头文件,然后添加public成 员。 7)打开calculatorDlg.cpp文件,在构造函数中,进行成员初始 化和完善各控件的响应函数代码。 (3)程序清单:

●添加的public成员: double tempvalue; //存储中间变量 double result; //存储显示结果的值 int sort; //判断后面是何种运算:1.加法2.减法3. 乘法 4.除法 int append; //判断后面是否添加数字 ●成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = 0.0; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0; result=0; sort=0; append=0; }

统计实验报告

浙江万里学院实验报告 课程名称:2011/2012学年第二学期统计实验 实验名称: 统计推断 专业班级:金融107 姓名:吴妮娜2010011245 李红叶2010011246 赵烨2010011248 一、实验目的:通过本实验项目,使学生熟悉点估计概念与操作方法, 熟悉区间估计的概念与操作方法,熟练掌握T 检验的SPSS 操作以及学会利用T 检验方法解决身边的实际问题。 二、实验内容:1.单个总体均值的区间估计 2.两个总体均值之差的区间估计 (1)Group Statistics (分组统计量)表 (2)Independent Sample Test (独立样本T 检验)表 3.单个总体均值的假设检验 (单样本T 检验) 4.两独立样本的假设检验(两独立样本T 检验) 5.配对样本T 检验 三、实验过程: 1.单个总体均值的区间估计 打开SPSS ,选择区间估计选项,方法如下: 选择菜单“Analyze —>Descriptive Statistics —>Explore ” ,打开图3.1Explore 。将变量移入Dependent List 框中。单击上图右下方的“Statistics ”按钮打开“Explore: Statistics ”。在Confidence Interval for Mea n:的选项中,键入95%,表示计算选择的置信区间。完成后单击“Continue ”按钮回到Explore 窗口。返回主窗口点击ok 运行操作。 2.两个总体均值之差的区间估计 打开SPSS ,按如下图示格式输入原始数据,建立数据文件。计算两总体均值之差的区间估计,采用“独立样本T 检验”方法。选择菜单“ Analyze →Compare Means →Independent-Sample T Test ”, 打开Independent-Sample T Test 对话框。定义分组 单击Grouping Variable 框下面的Define Groups 按钮,打开Define Groups 。在Group1 中输入1,在Group2 中输入2。完成后单击“Continue ”按钮回到Independent-Sample T Test 窗口。计算结果 单击上图中“OK ”按钮,输出结果。 成绩: 教师:

数据结构实验报告记录文件压缩

数据结构实验报告记录文件压缩

————————————————————————————————作者:————————————————————————————————日期:

数据结构与程序设计实验 实验报告 课程名称数据结构与程序设计实验课程编号0906550 实验项目名称文件压缩 学号年级 姓名专业计算机科学与技术学生所在学院计算机学院指导教师杨静 实验室名称地点21B276 哈尔滨工程大学

实验报告四 实验课名称:数据结构与程序设计实验 实验名称:文件压缩 班级:学号:姓名:时间:2016.04.21 一、问题描述 哈夫曼编码是一种常用的数据压缩技术,对数据文件进行哈夫曼编码可大大缩短文件的传输长度,提高信道利用率及传输效率。要求采用哈夫曼编码原理,统计文本文件中字符出现的词频,以词频作为权值,对文件进行哈夫曼编码以达到压缩文件的目的,再用哈夫曼编码进行译码解压缩。 统计待压缩的文本文件中各字符的词频,以词频为权值建立哈夫曼树, 并将该哈夫曼树保存到文件HufTree.dat 中。 根据哈夫曼树(保存在HufTree.dat 中)对每个字符进行哈夫曼编码,并 将字符编码保存到HufCode.txt 文件中。 压缩:根据哈夫曼编码,将源文件进行编码得到压缩文件CodeFile.dat。 解压:将CodeFile.dat 文件利用哈夫曼树译码解压,恢复为源文件。 二、数据结构设计 由于哈夫曼树中没有度为1的结点,则一棵树有n个叶子结点的哈夫曼树共有2n-1个结点,可以存储在一个大小为2n-1的一维数组中,而且对每个结点而言,即需知双亲结点的信息,又需知孩子结点的信息,由此可采用如下数据结构。 1.使用结构体数组统计词频,并存储: typedef struct Node{ int weight; //叶子结点的权值 char c; //叶子结点 int num; //叶子结点的二进制码的长度 }LeafNode[N]; 2.使用结构体数组存储哈夫曼树: typedef struct{ unsigned int weight;//权值 unsigned int parent, LChild, RChild; }HTNode,Huffman[M+1]; //huffman树 3.使用字符指针数组存储哈夫曼编码表: typedef char *HuffmanCode[2*M]; //haffman编码表 三、算法设计 1.读取文件,获得字符串 void read_file(char const *file_name, char *ch){ FILE *in_file = Fopen(file_name, "r"); unsigned int flag = fread(ch, sizeof(char), N, in_file); if(flag == 0){ printf("%s读取失败\n", file_name); fflush(stdout); } printf("读入的字符串是: %s\n\n", ch); Fclose(in_file); int len = strlen(ch);

计算方法实验报告格式

计算方法实验报告格式 小组名称: 组长姓名(班号): 小组成员姓名(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下: 一、实验名称 实验者可根据报告形式需要适当写出. 二、实验目的及要求 首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出. 三、算法描述(实验原理与基础理论) 数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出. 四、实验内容 实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备. 五、程序流程图 画出程序实现过程的流程图,以便更好的对程序执行的过程有清楚的认识,在程序调试过程中更容易发现问题. 六、实验结果 实验结果应包括实验的原始数据、中间结果及实验的最终结果,复杂的结果可以用表格

形式列出,较为简单的结果可以与实验结果分析合并出现. 七、实验结果分析 实验结果分析包括对对算法的理解与分析、改进与建议. 数值实验报告范例 为了更好地做好数值实验并写出规范的数值实验报告,下面给出一简单范例供读者参考. 数值实验报告 小组名称: 小组成员(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一、实验名称 误差传播与算法稳定性. 二、实验目的 1.理解数值计算稳定性的概念. 2.了解数值计算方法的必要性. 3.体会数值计算的收敛性与收敛速度. 三、实验内容 计算dx x x I n n ? += 1 10 ,1,2,,10n = . 四、算法描述 由 dx x x I n n ? += 1 10 ,知 dx x x I n n ?+=--101110,则

Hadoop云计算平台实验报告V1.1

Hadoop云计算平台实验报告V1.1

目录 1实验目标 (3) 2实验原理 (4) 2.1H ADOOP工作原理 (4) 2.2实验设计 (6) 2.2.1可扩展性 (6) 2.2.2稳定性 (7) 2.2.3可靠性 (7) 3实验过程 (9) 3.1实验环境 (9) 3.1.1安装Linux操作系统 (10) 3.1.2安装Java开发环境 (14) 3.1.3安装SSH (15) 3.1.4配置网络 (15) 3.1.5创建SSH密钥安全联机 (19) 3.1.6配置Hadoop云计算系统 (19) 3.1.7配置Slaves节点 (23) 3.1.8格式化Hadoop系统 (23) 3.1.9启动Hadoop集群 (23) 3.22.实验过程 (25) 3.2.1可扩展性 (25) 3.2.1.1动态扩展 (25) 3.2.1.2动态缩减 (27) 3.2.2稳定性 (28) 3.2.3可靠性 (31) 3.2.4MapReduce词频统计测试 (32) 4实验总结 (35)

1. 掌握Hadoop安装过程 2. 理解Hadoop工作原理 3. 测试Hadoop系统的可扩展性 4. 测试Hadoop系统的稳定性 5. 测试Hadoop系统的可靠性

2.1Hadoop工作原理 Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价的硬件设备组成集群上运行应用程序,为应用程序提供一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统。Hadoop框架中最核心的设计就是:MapReduce和HDFS。MapReduce 的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算、存储提供了底层支持。 HDFS采用C/S架构,对外部客户机而言,HDFS就像一个传统的分级文件系统。可以对文件执行创建、删除、重命名或者移动等操作。HDFS中有三种角色:客户端、NameNode和DataNode。HDFS的结构示意图见图1。 NameNode是一个中心服务器,存放着文件的元数据信息,它负责管理文件系统的名字空间以及客户端对文件的访问。DataNode节点负责管理它所在节点上的存储。NameNode对外暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,文件被分成一个或多个数据块,这些块存储在一组DataNode上,HDFS通过块的划分降低了文件存储的粒度,通过多副本技术和数据校验技术提高了数据的高可靠性。NameNode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体DataNode节点的映射。DataNode负责存放数据块和处理文件系统客户端的读写请求。在NameNode的统一调度下进行数据块的创建、删除和复制。

计算方法实验报告 拟合

南京信息工程大学实验(实习)报告 一、实验目的: 用最小二乘法将给定的十个点拟合成三次多项式。 二、实验步骤: 用matlab编制以函数为基的多项式最小二乘拟合程序,并用于对下列数据作三次多项式最小二乘拟合(取权函数wi=1) x -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 y -2.30 -1 -0.14 -0.25 0.61 1.03 1.75 2.75 4.42 6.94 给定直线方程为:y=1/4*x3+1/2*x2+x+1 三、实验结论: 最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。 一般地。当测量数据的散布图无明显的规律时,习惯上取n次代数多项式。 程序运行结果为: a = 0.9731 1.1023 0.4862 0.2238 即拟合的三次方程为:y=0.9731+1.1023x+0.4862*x2+0.2238*x3

-2.5 -2-1.5-1-0.5 00.51 1.52 2.5 -4-20246 81012 x 轴 y 轴 拟合图 离散点 y=a(1)+a(2)*x+a(3)*x.2+a(4)*x.3 结论: 一般情况下,拟合函数使得所有的残差为零是不可能的。由图形可以看出最小二乘解决了残差的正负相互抵消的问题,使得拟合函数更加密合实验数据。 优点:曲线拟合是使拟合函数和一系列的离散点与观测值的偏差平方和达到最小。 缺点:由于计算方法简单,若要保证数据的精确度,需要大量的数据代入计算。

统计学实验报告1

统计学实验报告1 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

实验报告

二、打开文件“数据 3.XLS”中“城市住房状况评价”工作表,完成以下操作。 1)通过函数,计算出各频率以及向上累计次数和向下累计次数;2)根据两城市频数分布数据,绘制出两城市满意度评价的环形图三、打开文件“数据 3.XLS”中“期末统计成绩”工作表,完成以下操作。 1)要求根据数据绘制出雷达图,比较两个班考试成绩的相似情况。 实验过程: 实验任务一: 1)利用函数frequency制作一张频数分布表 步骤1:打开文件“数据 3. XLS”中“某公司4个月电脑销售情况”工作表 步骤 2.在“频率(%)”的右侧加入一列“分组上限”,因统计分组采用“上限不在内”,故每组数据的上限都比真正的上限值小0.1,例如:“140-150”该组的上限实际值应为“150”,但我们为了计算接下来的频数取“149.9”. 步骤3.选定C20:C29,再选择“插入函数”按钮 3 步骤 4.选择类别“统计”—选择函数“FREQUENCY”

步骤5.在“data_array”对话框中输入“A2:I13”,在“bins_array”对话框中输入“E20:E29 该函数的第一个参数指定用于编制分布数列的原始数据,第二个参数指定每一组的上限. 步骤6.选定C20:C30区域,再按“自动求和” 按钮,即可得到频数的合计

步骤7.在D20中输入“=(C20/$C$30)*1OO” 步骤8:再将该公式复制到D21:D29中,并按“自动求和”按钮计算得出所有频率的合计。

运动会成绩统计 实验报告

实验说明 题目:运动会分数统计 一.需求分析: 1.在该程序中,参赛学校编号为1~n(n<=20)。比赛分成m(m<=30)个 男子项目和w(w<=20)个女子项目,分别编号为1~m和m+1~m+w, 姓名长度不超过20个字符; 2.输入各个项目信息的详细信息,包括项目号,姓名,性别,学校和名 次。 3.对于项目编号为奇数的取前五名,得分顺序为7,5,3,2,1;为偶数 的取前三名,得分顺序为5,3,2。 4.程序执行的命令包括: 1)构造线性表的存储结构。 2)根据每个学生的名次确定相应的得分。 3)输出各个学校的成绩单和男子团体总分,女子团体总分和团体总分。二.概要设计 1.该程序包含两个结构体分别为: 结构体(1)运动员信息 结构体(2)学校信息 2.本程序包括4个模块: 1>初始化学校信息。 2>依次输入每个运动员的信息。 3>根据每个学生的成绩计算对应的得分,及个学校的总得分、男团总分、 女团总分。

4>生成个学校的成绩单,并输出。三.详细设计 1.数据结构的定义: ○1描述运动员的线性表 typedef struct { int item[MAXSIZE]; //参赛项目号 char thletename[MAXSIZE][20];//姓名 char sex[MAXSIZE];//性别 int schoolnum[MAXSIZE];//所在学校编号 int num[MAXSIZE];//名次 int point[MAXSIZE];//得分 int last; }Thlete; ○2描述学校的线性表 typedef struct { int schoolnum[MAXSIZE];//学校编号 int Tgirl[MAXSIZE];//女生团体总分 int Tboy[MAXSIZE];//男生团体总分 int Tall[MAXSIZE];//学校总成绩 int last; }School; ○3.控制输入的函数 int input(Thlete *S1,int n,int m,int w)

金融统计学实验报告

一、实验类型 验证型实验。分析1991-2013年中国1年期实际储蓄存款利率的变化特点,运用名义利率、通货膨胀率和物价指数的数据用两种方法来计算并分析哪种方法更科学。 二、实验目的 1、掌握实际利率的两种计算方法,并分析1991-2013年中国1年期实际储蓄存款利率的变化特点。 2、比较两种实际利率测算方法的差异性及科学性。 三、实验背景 利率是国家调控经济的重要杠杆之一,特定的宏观经济目标和微观经济目标可以通过利率调整实现。利率调整是在一定的经济运行环境下进行的,它的调整对经济增长、居民消费、居民储蓄、市场投资等都会产生直接或是简洁的影响。 实际利率(Effective Interest Rate/Real interest rate) 是指剔除通货膨胀率后储户或投资者得到利息回报的真实利率。研究实际利率对经济发展有很大的作用,本实验就1991年至2013年中国1年期实际储蓄利率的变化特点进行探讨,并比较分析实际利率的计算方法。 四、实验环境 本实验属于自主实验,由学员课后自主完成,主要使用Excel软件。 数据来源:通过国家统计局网站、中国人民银行网站获取数据。 五、实验原理 1、实际利率=名义利率-通货膨胀率。 2、实际利率=(名义利率-通货膨胀率)/(1+通货膨胀率)。 六、实验步骤 1、采集实验基础数据。通过网上登录国家统计局网站查看中国统计年鉴,以及登录中国人民银行网站获取相应数据。数据样本区间为1991-2013年。 2、利用Excel软件分别按照两种方法计算实际利率。 3、做出实际储蓄存款利率的变化以及两种不同算法下实际利率变化的折线图。 4、分析图表,考察实际存款利率变化特点并比较两种计算方法的科学性。 七、实验结果分析 (一)实验结果 经过整理和测算的结果如图所示

统计学实验报告【最新】

统计学实验报告 一、实验主题:大学生专业与实习工作的关系 二、实验背景: 二十一世纪的今天大学生已是一个普遍的社会群体,高校毕业人数日益增加,社会、企业所提供的职位日益紧张,大学生就业问题是当今社会关注的焦点。面对日益沉重的就业压力,越来越多的大学毕业生选择了企业需求的职业,而这种职业与自己在校所学专业根本“无关”或相去甚远,大学毕业生就业专业不对口的现象非常严重。专业对口是个广义的概念,就是说你所学的专业与你所作的工作相关,比如你专业是会计,工作后你到了一个企业做会计,或者到银行做柜员,这都是与经济相关的,这就是对口。如果你学机械设计,但工作后却做了统计员,业务员等于你所学专业无关的工作,这就叫专业不对口。专业不对口导致毕业生所学知识没有用武之地,所以这是一种人力资源的浪费。 三、实验目的: 大学生就业专业不对口是客观存在的问题,我们研究此问题有这几点目的:①了解当代大学生实习工作与专业是否对口的情况,当代大学生对工作与专业不对口现象的态度。②分析大学生就业结构和

专业对口问题,了解当今大学生专业对口情况,为以后大学生选择专业、选择工作岗位提供有效的信息和借鉴。③寻找导致专业不对口的原因,以减少社会普遍存在的人力资源的浪费。 四、实验要求:就相关问题收集一定数量的数据,用EXCEL进行如下 分析:1进行数据筛选、排序、分组;2、制作饼图并进行简要解释;3、制作频数分布图,直方图等并进行简要解释。 五、实验设备及材料:计算机,手机,EXCEL软件,WORD软件。 六、实验过程: (一)制作并发放调查问卷。 (二)收回并统计原始数据:收回了102名大学生填写的调查问卷,并对相关数据进行统计。 (三)筛选与实验相关问题: 1.您的性别( ): A. 男B.女

计算方法上机实验报告——拉格朗日插值问题

计算方法上机实验报告——拉格朗日插值问题 一、方法原理 n次拉格朗日插值多项式为:Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+ynln(x) n=1时,称为线性插值,L1(x)=y0(x-x1)/(x0-x1)+y1(x-x0)/(x1-x0)=y0+(y1-x0)(x-x0)/(x1-x0) n=2时,称为二次插值或抛物线插值,精度相对高些 L2(x)=y0(x-x1)(x-x2)/(x0-x1)/(x0-x2)+y1(x-x0)(x-x2)/(x1-x0)/(x1-x 2)+y2(x-x0)(x-x1)/(x2-x0)/(x2-x1) 二、主要思路 使用线性方程组求系数构造插值公式相对复杂,可改用构造方法来插值。 对节点xi(i=0,1,…,n)中任一点xk(0<=k<=n)作一n次多项式lk(xk),使它在该点上取值为1,而在其余点xi(i=0,1,…,k-1,k+1,…,n)上为0,则插值多项式为Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+ynln(x) 上式表明:n个点xi(i=0,1,…,k-1,k+1,…,n)都是lk(x)的零点。可求得lk 三.计算方法及过程:1.输入节点的个数n 2.输入各个节点的横纵坐标 3.输入插值点 4.调用函数,返回z 函数语句与形参说明 程序源代码如下: 形参与函数类型 参数意义 intn 节点的个数 doublex[n](double*x) 存放n个节点的值 doubley[n](double*y) 存放n个节点相对应的函数值 doublep 指定插值点的值 doublefun() 函数返回一个双精度实型函数值,即插值点p处的近似函数值 #include #include usingnamespacestd; #defineN100 doublefun(double*x,double*y,intn,doublep); voidmain() {inti,n; cout<<"输入节点的个数n:"; cin>>n;

统计学实验报告

重庆大学 学生实验报告 实验课程名称统计学课程实验 开课实验室 DS1421 学院建管年级 2011级专业班财管02班学生姓名熊俸英学号 开课时间 2012 至 2013 学年第 2 学期 建设管理及房地产学院制

《统计学》实验报告 开课实验室:年月日

陈谦87769277 刘文55845182 周克66628579 程前75507288 徐非64859193 1)选中以上数据后,复制到excel表格中,点击工具栏中”数据”下“自动筛选”,点击统计学成绩栏分数等于“90”; 结果为: 2)继上一小题,点击“经济学成绩”下“前10个”,会出现对话框,把数字“10”改为“3”,点击确定;

结果为: 3)选中数据,前面留出两栏空白,并复制数据表头(选中数据第一排),到空白处第一排,在第二排各科成绩下面输入“>60”,如图:选中数据,点击“数据”—“高级筛选”,点击条件区 域(选中表格前2行),点击确定: 2.B 组题第5题 为评价家电行业售后服务的质量,随机抽取了由100个家庭构成的一个样本。服务质量的等级分别表示为: A.好;B .较好;C.一般;D.较差;E .差。调查结果如下所示; B C A C B E C B A B D A D B C C E D E B A D B A C B E C B A B A C C D A B D D A C D C E B B C D C C A A C A C C D C E D A E C C A C D A A E B A D E C A B C E B A D A B C B E D B C A B C D C B A B A D 要求编制品质数列,列出频率、频数,并选用适当的统计图如:圆形图、条形图等形象地显示资料整理的结果。(要求展现整理过程) 留出两栏空白,条件区域时输入筛选条件 为查询结

相关主题