文档库 最新最全的文档下载
当前位置:文档库 › 实验四Hash算法和密码应用网络与信息安全实验报告

实验四Hash算法和密码应用网络与信息安全实验报告

实验四Hash算法和密码应用网络与信息安全实验报告
实验四Hash算法和密码应用网络与信息安全实验报告

实验四Hash算法和密码应用

同组实验者实验日期成绩

练习一MD5算法

实验目的1理解Hash函数的计算原理和特点,2理解MD5算法原理

实验人数每组2人

系统环境Windows

网络环境交换网络结构

实验工具密码工具

实验类型验证型

一、实验原理

详见“信息安全实验平台”,“实验4”,“练习一”。

二、实验步骤

本练习主机A、B为一组,C、D为一组,E、F为一组。首先使用“快照X”恢复Windows 系统环境。

1.MD5生成文件摘要

(1)本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“生成摘要”页签,在明文框中编辑文本内容:

__________________________________________________________________________。

单击“生成摘要”按钮,生成文本摘要:

__________________________________________________________________________。

单击“导出”按钮,将摘要导出到MD5共享文件夹(D:\Work\Encryption\MD5\)中,并通告同组主机获取摘要。

(2)单击“导入摘要”按钮,从同组主机的MD5共享文件夹中将摘要导入。

在文本框中输入同组主机编辑过的文本内容,单击“生成摘要”按钮,将新生成的摘要与导入的摘要进行比较,验证相同文本会产生相同的摘要。

(3)对同组主机编辑过的文本内容做很小的改动,再次生成摘要,与导入的摘要进行对比,验证MD5算法的抗修改性。

2.MD5算法

本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“演示”页签,在明文输入区输入文本(文本不能超过48个字符),单击“开始演示”,查看各模块数据及算法流程。根据实验原理中对MD5算法的介绍,如果链接变量的值分别为(其中,M[1]=):A: 2B480E7C

B: DAEAB5EF

C: 2E87BDD9

D: 91D9BEE8

请写出第2轮第1步的运算过程以及经过运算后的链接变量。

练习二SHA1算法

实验目的 1. 理解SHA1函数的计算原理和特点,2. 理解SHA1算法原理

实验人数每组2人

系统环境Windows

网络环境交换网络结构

实验工具密码工具

实验类型验证型

一、实验原理

详见“信息安全实验平台”,“实验4”,“练习二”。

二、实验步骤

1.SHA1生成文件摘要

(1)本机进入“密码工具”|“加密解密”|“SHA1哈希函数”|“生成摘要”页面,在明文框中编辑文本内容:

__________________________________________________________________________。

单击“生成摘要”按钮,生成文本摘要:

__________________________________________________________________________。

单击“导出”按钮,将摘要导出到SHA1共享文件夹(D:\Work\Encryption\SHA1\)中,并通告同组主机获取摘要。

(2)单击“导入”按钮,从同组主机的SHA1共享文件夹中将摘要导入。

在文本框中输入同组主机编辑过的文本内容,单击“生成摘要”按钮,将新生成的摘要与导入的摘要进行比较,验证相同文本会产生相同的摘要。

(3)对同组主机编辑过的文本内容做很小的改动,再次生成摘要,与导入的摘要进行对比,验证SHA1算法的抗修改性。

2.SHA1算法

本机进入“密码工具”|“加密解密”|“SHA1哈希函数”|“演示”页签,在明文输入区输入文本(文本不能超过48个字符),单击“开始演示”,查看各模块数据及算法流程。根据实验原理中对SHA1算法的介绍,如果链接变量的值分别为(其中,M[1]= E7CBEB94):A: 39669B34

B: 61E7F48C

C: C04BD57B

操作系统实验四实验报告动态分区分配算法

操作系统实验四 【实验题目】:动态分区分配算法 【实验学时】:4学时 【实验目的】 通过这次实验,加深对动态分区分配算法的理解,进一步掌握首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的实现方法。 【实验内容及要求】 问题描述: 设计程序模拟四种动态分区分配算法:首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的工作过程。假设内存中空闲分区个数为n,空闲分区大小分别为P1, … ,P n,在动态分区分配过程中需要分配的进程个数为m(m≤n),它们需要的分区大小分别为S1, … ,S m,分别利用四种动态分区分配算法将m个进程放入n个空闲分区,给出进程在空闲分区中的分配情况。 程序要求: 1)利用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法四种动态分区分配算法模拟分区分配过程。 2)模拟四种算法的分区分配过程,给出每种算法进程在空闲分区中的分配情况。 3)输入:空闲分区个数n,空闲分区大小P1, … ,P n,进程个数m,进程需要的分区大小S1, … ,S m。

4)输出:首次适应算法,循环首次适应算法,最佳适应算法,最坏适应算法,最终内存空闲分区的分配情况。 实现源代码: #include #include #include #include #define max 100 using namespace std; int work_num; int zone_num; struct Data{ int data; char name; }; Data *d=new Data[max]; struct Table{ int data; char array[max]; int length; };

人才测评技术教学大纲教案资料

工商企业管理专业《人才测评》课程教学大纲 前言部分 一、课程代码: 二、课程类型: 人才测评是工商企业管理专业的专业必修课,是培养人力资源管理技能的专业核心课程。 三、课程性质: 人才测评是工商企业管理专业的专业技能课程,它适应当前市场经济条件下组织高效、科学的用人需求,和个体了解自己、寻求人职最佳匹配、规划个人事业发展的心理需要,在传统的人力资源的人事管理方法之上引入了更加客观、公正的现代人才素质测评技术,通过对人稳定的素质特点实现区分,强化了人力资源管理在现代企事业管理中的作用。 四、课程教学目标: 通过本课程的学习,学生能够了解人员素质测评的基本原理和基本知识,具备人员素质测评工作的基本操作技能,掌握常用的人员素质测评的方法,能独立选择和操作常用的能力测验、人格测验、职业测验、 心理健康测验等人力测评工具,并能作出简单有效的解释。 五、学习本课程的要求: 本课程分为原理和工具的使用两大部分。在有关原理学习中,要求学生初步了解人员素质测评的基本思想、基本假设、测量的误差来源、测量工具的性能指标等等。在有关工具的使用的教学中,要求学生掌握各种测评工具的功能和使用方法。 《人才测评》是一门理论性、技术性和艺术性都很强的课程,要求授课教师具有扎实的心理学和统计学功底,能将《心理测量学》和《统计学》知识结合起来。在教学过程中,为了便于学生对有关原理的理解,教师最好结合实际测评工具的使用来进行。 学习本课程需要具备一宾的教学条件,如实训室和常用的人才测评工具,机房和统计软件,多媒体教学设备等。 六、学时分配参考表: 七、考核方法: 本课程为考查课,学期总成绩为100 分。考核形式:可采取平时作业结合实际操作进行考核的方法。评分方法:任课教师根据教学的特点和要求,以及平时作业与实际操作的内容和形式自行拟定。 八、本课程与其它课程的联系: 《人才测评》是工商企业管理专业教学计划的重点和难点,是该专业的技能性课程。《组织行为学》《人力资源管

网络安全实验报告[整理版]

一Sniffer 软件的安装和使用 一、实验目的 1. 学会在windows环境下安装Sniffer; 2. 熟练掌握Sniffer的使用; 3. 要求能够熟练运用sniffer捕获报文,结合以太网的相关知识,分析一个自己捕获的以太网的帧结构。 二、实验仪器与器材 装有Windows操作系统的PC机,能互相访问,组成局域网。 三、实验原理 Sniffer程序是一种利用以太网的特性把网络适配卡(NIC,一般为以太同卡)置为杂乱模式状态的工具,一旦同卡设置为这种模式,它就能接收传输在网络上的每一个信息包。 四、实验过程与测试数据 1、软件安装 按照常规方法安装Sniffer pro 软件 在使用sniffer pro时需要将网卡的监听模式切换为混杂,按照提示操作即可。 2、使用sniffer查询流量信息: 第一步:默认情况下sniffer pro会自动选择网卡进行监听,手动方法是通过软件的file 菜单下的select settings来完成。 第二步:在settings窗口中我们选择准备监听的那块网卡,把右下角的“LOG ON”勾上,“确定”按钮即可。 第四步:在三个仪表盘下面是对网络流量,数据错误以及数据包大小情况的绘制图。 第五步:通过FTP来下载大量数据,通过sniffer pro来查看本地网络流量情况,FTP 下载速度接近4Mb/s。 第六步:网络传输速度提高后在sniffer pro中的显示也有了很大变化,utiliazation使用百分率一下到达了30%左右,由于我们100M网卡的理论最大传输速度为12.5Mb/s,所以4Mb/s刚好接近这个值的30%,实际结果和理论符合。 第七步:仪表上面的“set thresholds”按钮了,可以对所有参数的名称和最大显示上限进行设置。 第八步:仪表下的“Detail”按钮来查看具体详细信息。 第九步:在host table界面,我们可以看到本机和网络中其他地址的数据交换情况。

操作系统实验_首次适应算法与循环首次适应算法

学号P7******* 专业计算机科学与技术姓名 实验日期2017.11.16 教师签字成绩 实验报告 【实验名称】首次适应算法和循环首次适应算法 【实验目的】 学会主存空间分配与回收的基本方法首次适应算法和循环首次适应算法。 【实验原理】 理解在连续分区动态的存储管理方式下,如何实现贮存空间的分配与回收。 采用可变式分区管理,使用最佳适应算法实现主存空间的分配与回收。 采用可变式分区管理,使用最坏适应算法实现主存空间的分配与回收。 数据结构: 1、bool ROM[N]; //定义主存信息,如果内存被占用,则标记为1,否则标记为0,设置内存单元为1024 2、pcb num[20];//定义作业数组,最大支持20个作业 3、typedef struct Pcb //定义作业结构体,包括名称,开始时间,大小,是否执行状态 { char name[10]; int start; int size; int state=0; } pcb; typedef struct Free_rom //空闲区结构体

{ int num; int start; int end; int space; } Free_room; Free_rom free_rom[100];//设置空闲区数组为100个 主要函数 void init();//初始化信息,包括初始化内存信息,和初始化作业队列 void insert_pcb1(pcb &a);插入作业函数,首次适应算法,如果有适合的就插入,无合适输出‘插入失败’ void insert_pcb1(pcb &a);插入作业函数,循环首次适应算法,如果有适合的就插入,无合适输出‘插入失败’ void Delete(pcb &a)//删除作业信息,包括修改内存状态修改作业状态并对作业进行初始化 void show();//显示信息 void find_free_rom() //寻找空闲区 算法流程图

哈希表实验报告完整版

实验报告 姓名:学号: 1.实验题目 针对某个集体中人名设计一个哈希表,使得平均查找长度不超过R,并完成相应的建表和查表程序。 基本要求:假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用线性探测再散列法或链地址法处理冲突。 2.需求分析 本演示程序用VC编写,完成哈希函数用除留余数法构造,用线性探测再散列法或链地址法处理冲突。 输出形式:地址,关键字,收索长度,H(key),拼音 3.概要设计 typedef struct NAME typedef struct hterm void InitNameList() void CreateHashList() void FindList() void Display() int main() 4.详细设计 #include #include #include

#define HASH_LEN 50 #define M 47 #define NAME_NO 8 typedef struct NAME { char *py; //名字的拼音 int k; //拼音所对应的整数}NAME; NAME NameList[HASH_LEN]; typedef struct hterm //哈希表{ char *py; //名字的拼音 int k; //拼音所对应的整数int si; //查找长度 }HASH; HASH HashList[HASH_LEN]; void InitNameList() { NameList[0].py="houxinming"; NameList[1].py="abc"; NameList[2].py="defdgf"; NameList[3].py="zhangrji"; NameList[4].py="jiaxin"; NameList[5].py="xiaokai"; NameList[6].py="liupeng"; NameList[7].py="shenyonghai";

人员素质测评实验报告书模板

人员素质测评实验报告书 院系:经济管理系 专业:人力资源管理 班级:B14341 姓名:某某某 学号:20144034222 完成时间:2017年8月 2016-2017学年第3学期

《人员素质测评》实验内容与要求实验类别序号实验名称实验思考题 基本潜能1 语言能力测验 1、你在实验中所测评的结果,与自 己对自己、他人对自己的认识和评价 有何不同?是什么原因造成了这种 差异? 2、完成了各类能力倾向测验后,你 的自我体验如何?各项能力相比较 而言,哪项是你的优势能力? 3、你认为这些测验在具体的人员测 评工作中怎样使用是比较合理有效 的?为什么? 2 数字运算能力测验 3 逻辑推理能力测验 4 资料分析能力测验 智力测验5 瑞文智力测验 1、当你完成了本测验后,对这种非 文字的智力测验感受如何,你认为这 种测验模式能够真实地反映出你的 智力水平吗?测验结果与你对自己 的认识,或他人对你智力方面的评价 有何差异吗? 6 华瑞智力测验 1、华瑞测验与你曾接触过的其他智 力测验相比,具有什么特点? 人格测验7 卡特尔16 PF 1、你在实验中参加的16PF 测验结 果,与自己对自己、他人对自己的认 识和评价有何不同?是什么原因造 成了这种差异? 2、卡特尔提取16PF 指标的理论方 法对你有哪些启发?你认为这种理 论方法的优点和不足有什么? 8 CPI个性调查 1、在本测验中,CPI 的18 个维度 与其他个性测验(如16PF)中的内 容有何差异? 9 气质类型测验 1、你在气质测验的结果与自己对自 己、他人对自己的认识和评价有何不 同?是什么原因造成了这种差异?

网络安全实验报告

网络安全实验报告 姓名:杨瑞春 班级:自动化86 学号:08045009

实验一:网络命令操作与网络协议分析 一.实验目的: 1.熟悉网络基本命令的操作与功能。 2.熟练使用网络协议分析软件ethereal分析应用协议。 二.实验步骤: 1. ping tracert netstat ipconfig telnet netcat Arp route nslookup Ssh 2.协议分析软件:ethereal的主要功能:设置流量过滤条件,分析网络数据包, 流重组功能,协议分析。 三.实验任务: 1.跟踪某一网站如google的路由路径 2.查看本机的MAC地址,ip地址 输入ipconfig /all 找见本地连接. Description . . .. . : SiS 900-Based PCI Fast Ethernet Adapte Physical Address.. . : 00-13-8F-07-3A-57 DHCP Enabled. . .. . : No IP Address. . . .. . : 192.168.1.5 Subnet Mask . . .. . : 255.255.255.0 Default Gateway .. . : 192.168.1.1 DNS Servers . . .. . : 61.128.128.67 192.168.1.1

Default Gateway .. . : 192.168.1.1 这项是网关.也就是路由器IP Physical Address.. . : 00-13-8F-07-3A-57 这项就是MAC地址了.

采用首次适应算法的动态分区分配模拟课程设计实验报告

】 1 需求分析 1)本程序要求实现对内存的动态分配与回收的模拟,同时,在内存的分配时还必须使用首次适应算法,最后,还要显示内存块分配和回收后空闲内存分区链的情况。 2)要实现对作业的内存分配,首先要有一个对作业进行创建和分配内存的模块,其中,该模块在分配内存时要使用首次适应算法;要实现对内存的回收,要有一个内存回收的模块,其中,该模块在回收内存时要考虑内存回收的四种情况;最后,还要有一个能显示内存空闲分区链的情况的模块。 2 概要设计 1)首次适应算法的结构如图1: 图1 首次适应算法的结构图 》

2)数据结构: struct Fq { int size,o,no; Fq *before,*next; }; 其中,Fq表示结构体的名字(类型),size表示分区的可用空间大小,o表示该分区的状态(是否已分配),no表示该分区中的作业标志,*before表示该结点的向前指针,*next表示该结点的向后指针。 3)各种函数说明: \ void alloc(int b,int no,Fq *p); 对作业no进行内存分配的功能函数;其中,参数b表示需求的内存大小,参数no表示作业的编号,参数*p表示空闲分区链的第一个非空结点的指针; void free(Fq *c); 将地址为c的分区的内存回收;其中,参数*c表示要回收内存的结点; void create(Fq *head); 创建新作业的子函数;其中,参数*head表示空闲分区链的链首指针;要配合函数alloc()使用; void cha(Fq *head); 查看内存中的空闲分区链的子函数;其中,参数*head表示空闲分区链的链首指针; # void hui(Fq *head); 回收内存的子函数;其中,参数*head表示空闲分区链的链首指针;要配合函数free()使用; 3 运行环境 1)操作系统: Windows XP ( 32位 / DirectX 11 ) 2)电脑: X86 兼容台式电脑

数据结构课程设计--哈希表实验报告

福建工程学院 课程设计 课程:算法与数据结构 题目:哈希表 专业:网络工程 班级:xxxxxx班 座号:xxxxxxxxxxxx 姓名:xxxxxxx 2011年12 月31 日 实验题目:哈希表 一、要解决的问题 针对同班同学信息设计一个通讯录,学生信息有姓名,学号,电话号码等。以学生姓名为关键字设计哈希表,并完成相应的建表和查表程序。 基本要求:姓名以汉语拼音形式,待填入哈希表的人名约30个,自行设计哈希函数,用线性探测再散列法或链地址法处理冲突;在查找的过程中给出比较的次数。完成按姓名查询的操作。 运行的环境:Microsoft Visual C++ 6.0 二、算法基本思想描述 设计一个哈希表(哈希表内的元素为自定义的结构体)用来存放待填入的30个人名,人名为中国姓名的汉语拼音形式,用除留余数法构造哈希函数,用线性探查法解决哈希冲突。建立哈希表并且将其显示出来。通过要查找的关键字用哈希函数计算出相应的地址来查找人名。通过循环语句调用数组中保存的数据来显示哈希表。 三、设计 1、数据结构的设计和说明 (1)结构体的定义 typedef struct //记录 { NA name; NA xuehao; NA tel; }Record;

{ Record *elem[HASHSIZE]; //数据元素存储基址 int count; //当前数据元素个数 int size; //当前容量 }HashTable; 哈希表元素的定义,包含数据元素存储基址、数据元素个数、当前容量。 2、关键算法的设计 (1)姓名的折叠处理 long fold(NA s) //人名的折叠处理 { char *p; long sum=0; NA ss; strcpy(ss,s); //复制字符串,不改变原字符串的大小写 strupr(ss); //将字符串ss转换为大写形式 p=ss; while(*p!='\0') sum+=*p++; printf("\nsum====================%d",sum); return sum; } (2)建立哈希表 1、用除留余数法构建哈希函数 2、用线性探测再散列法处理冲突 int Hash1(NA str) //哈希函数 { long n; int m; n=fold(str); //先将用户名进行折叠处理 m=n%HASHSIZE; //折叠处理后的数,用除留余数法构造哈希函数 return m; //并返回模值 }Status collision(int p,int c) //冲突处理函数,采用二次探测再散列法解决冲突{ int i,q; i=c/2+1; while(i=0) return q; else i=c/2+1; } else{ q=(p-i*i)%HASHSIZE; c++;

山东建筑大学系统工程系统动力学实验报告层次分析法

系统工程实验报告 实验项目名称:层次分析法应用实验班级: 学号: 姓名: 日期: 日

一、实验目的 熟悉层次分析法的基本原理及其基本步骤,掌握层次单排序和总排序的计算过程。在EXCEL软件中,应用层次分析法解决实际中遇到的系统评价问题。 二、实验任务 交通工具的选择是多目标决策问题,结合自己的具体情况,根据层次分析法的基本原理,对具体的问题进行分析。所有的运算过程需要在EXCEL软件中完成。 三、实验原理 1.层次分析法简介 层次分析法(Analytic Hierarchy Process,简称 AHP)是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出的系统评价方法,这种方法将定性分析和定量分析结合起来,利用较少的定量信息使决策的思维过程数学化,是对难于完全定量的复杂系统作出决策的模型和方法。 AHP法首先把问题层次化,按问题性质和总目标将此问题分解成不同的层次,构成一个多层次的分析结构模型。将每一层次的各要素相对于其上一层次某要素进行两两比较判断,得到其相对重要程度的比较尺度,建立判断矩阵。通过计算判断矩阵的最大特征根及其相对应的特征向量,得到各层要素对上层某要素的重要性次序,建立相对权重向量。最后自上而下地用上一层次各要素的组合权重为权数,对本层次各要素的相对权重向量进行加权求和,得出各层次要素关于系统总体目标的组合权重,从而根据最终权重的大小进行方案排序,为选择最佳方案提供依据。 层次分析法的特点: (1)分析思路清楚,可将系统分析人员的思维过程系统化、数学化和模型化; (2)分析时需要的定量数据不多,但要求对问题所包含的因素及其关系具体而明确;(3)这种方法适用于多准则、多目标的复杂问题的决策分析,广泛用于地区经济发展方案比较、科学技术成果评比、资源规划和分析以及企业人员素质测评。 2.层次分析法基本步骤 第一步:明确问题,建立系统的递阶层次结构。 弄清问题的范围,了解问题所包含的因素,确定出因素之间的关联关系和隶属关系,并且建立递阶层次结构。

计算机操作系统内存分配实验报告记录

计算机操作系统内存分配实验报告记录

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

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、最佳适应算法、最差适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。同时要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 实验环境 硬件环境:PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计分析 某系统采用可变分区存储管理,在系统运行当然开始,假设初始状态下,可用的内存空间为640KB,存储器区被分为操作系统分区(40KB)和可给用户的空间区(600KB)。 (作业1 申请130KB、作业2 申请60KB、作业3 申请100KB 、作业2 释放 60KB 、作业4 申请 200KB、作业3释放100KB、作业1 释放130KB 、作业5申请140KB 、作业6申请60KB 、作业7申请50KB) 当作业1进入内存后,分给作业1(130KB),随着作业1、2、3的进入,分别分配60KB、100KB,经过一段时间的运行后,作业2运行完毕,释放所占内存。此时,作业4进入系统,要求分配200KB内存。作业3、1运行完毕,释放所占内存。此时又有作业5申请140KB,作业6申请60KB,作业7申请50KB。为它们进行主存分配和回收。 1、采用可变分区存储管理,使用空闲分区链实现主存分配和回收。 空闲分区链:使用链指针把所有的空闲分区链成一条链,为了实现对空闲分区的分配和链接,在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针,由状态位指示该分区是否分配出去了;同时,在分区尾部还设置有一后向指针,用来链接后面的分区;分区中间部分是用来存放作业的空闲内存空间,当该分区分配出去后,状态位就由“0”置为“1”。 设置一个内存空闲分区链,内存空间分区通过空闲分区链来管理,在进行内存分配时,系统优先使用空闲低端的空间。 设计一个空闲分区说明链,设计一个某时刻主存空间占用情况表,作为主存当前使用基础。初始化空间区和已分配区说明链的值,设计作业申请队列以及作业完成后释放顺序,实现主存的分配和回收。要求每次分配和回收后显示出空闲内存分区链的情况。把空闲区说明

哈希表实验报告

数据结构实验报告四——哈希表查找名字(字符串) 实验题目:哈希表查找名字(字符串) 实验目标: 输入一组名字(至少50个),将其保存并利用哈希表查找。输出哈希查找冲突次数,哈希表负载因子、查找命中率。 数据结构: 哈希表与数组(二维)。二维数组用于静态顺序存储名字(字符串),哈希表采用开放定址法,用于存储名字(字符串)对应得关键字并实现对名字(字符串)得查找。 需要得操作有: 1、关键字求取(主函数中两次出现,未单独编为函数) 关键字key=abs(字符串首位ASCII码值-第二位ASCII码值+第([]+1)位ASCII码值-最后一位ASCII码值-倒数第二位ASCII码值)*字符串长度(abs为求整数绝对值得函数)。 2、处理关键字得哈希函数(Hash) 利用平方取中法求关键值key在哈希表中得位置。公式add=(key*key)%1000/LENGTH(a dd为key在哈希表中得地址)。 int Hash(intkey) { ?return((key*key)/1000%LENGTH); } 3、处理哈希表中冲突得函数(Collision) 利用线性探测再散列处理冲突,利用全局变量count统计冲突次数。 int Collision(intkey,int Hashtable[]) { inti; for(i=1;i<=LENGTH;i++) { ??if(Hashtable[(Hash(key)+i)%LENGTH]==-1) ?return((Hash(key)+i)%LENGTH); ??count++; } } 4、哈希表初始化(InitHash) void InitHash(int Hashtable[]) { inti; for(i=0;i<LENGTH;i++) ??Hashtable[i]=-1; } 5、向哈希表中插入关键字(InsertHash) void InsertHash(int key,int Hashtable[]) { int add;

招聘模拟实验报告

《招聘与甄选》课程设计报告 学院:商学院 专业:人力资源管理 班级:人力资源管理2班 序号:47号 姓名:倪建刚 2013年10月11日

人员测评课程设计报告 一、研究企业背景 本公司是世界最大的日用消费品公司之一,在全球有70多个国家设有工厂及分公司,所经营的300多个品牌的产品畅销140多个国家地区。本公司其著名品牌自1989年10月份进入中国以来,一直是洗发水市场第一品牌,其知名度、消费者使用率、分辨率等各项市场指标多年以来均遥遥领先。该品牌在中国的演进,决非简单的产品开发行为更不是如大部分公众、同行等所想的那样“盲目、冒进”的短期行为。其品牌填补了中国洗发水空白,且带领洗发水市场走向了成熟,之所以成功,是该品牌成功建立了品牌理念,把品牌的建立放在了首位使其消费者对其品牌进行推崇,让其品牌产生自身优势。现在改企业处于高速发展中,拟在河北增加一个分公司,以此为例来进行改革来面对日趋饱和的洗发水市场环境。基于这样的背景,我们设立的岗位在行政管理岗位。 二、制定招聘计划 分公司的总经理直接由总公司任命。 1、分公司首先成立行政部,行政经理由总经理面试,主要通过猎头公司确定初步合适人选。 2、面试时间大约在11月1日——11月10日;行政部的人事专员和客服代表主要由行政经理面试,面试时间大约在11月11日——11月20日。 3、分公司其次设立销售部,销售经理由总经理和行政经理面试,主要通过猎头公司确定初步合适人选,面试时间大约在11月21日—11月30日;销售主管和销售人员主要由销售经理和人事专员面试,面试时间大约在12月1号—12月20号。 4、分公司最后设立财务部,财务经理由总经理和行政经理面试,主要通过猎头公司确定初步合适人选,面试时间大约在12月21日——12月31日;会计和出纳主要由财务经理和人事专员面试,面试时间大约在1月1号——1月20号。 三、对于新公司组织内部的分析 (一)企业组织结构图 表1 企业需要岗位及人数

计算机操作系统内存分配实验报告

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下.如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配.就是解决多道作业或多进程如何共享主存空间的问题。所谓回收.就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区.使分区大小正好适合作业的需求.并且分区个数是可以调整的。当要装入一个作业时.根据作业需要的主存量查看是否有足够的空闲空间.若有.则按需要量分割一个分区分配给该作业;若无.则作业不能装入.作业等待。随着作业的装入、完成.主存空间被分成许多大大小小的分区.有的分区被作业占用.而有的分区是空闲的。 实验要求使用可变分区存储管理方式.分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行.分区分配中所用的算法采用首次适应算法、最佳适应算法、最差适应算法三种算法来实现主存的分配与回收。同时.要求设计一个实用友好的用户界面.并显示分配与回收的过程。同时要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 实验环境 硬件环境:PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计分析 某系统采用可变分区存储管理.在系统运行当然开始.假设初始状态下.可用的内存空间为640KB.存储器区被分为操作系统分区(40KB)和可给用户的空间区(600KB)。 (作业1 申请130KB、作业2 申请60KB、作业3 申请100KB 、作业2 释放 60KB 、作业4 申请 200KB、作业3释放100KB、作业1 释放130KB 、作业5申请140KB 、作业6申请60KB 、作业7申请50KB) 当作业1进入内存后.分给作业1(130KB).随着作业1、2、3的进入.分别分配60KB、100KB.经过一段时间的运行后.作业2运行完毕.释放所占内存。此时.作业4进入系统.要求分配200KB内存。作业3、1运行完毕.释放所占内存。此时又有作业5申请140KB.作业6申请60KB.作业7申请50KB。为它们进行主存分配和回收。 1、采用可变分区存储管理.使用空闲分区链实现主存分配和回收。 空闲分区链:使用链指针把所有的空闲分区链成一条链.为了实现对空闲分区的分配和链接.在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针.由状态位指示该分区是否分配出去了;同时.在分区尾部还设置有一后向指针.用来链接后面的分区;分区中间部分是用来存放作业的空闲内存空间.当该分区分配出去后.状态位就由“0”置为“1”。 设置一个内存空闲分区链.内存空间分区通过空闲分区链来管理.在进行内存分配时.系统优先使用空闲低端的空间。 设计一个空闲分区说明链.设计一个某时刻主存空间占用情况表.作为主存当前使用基础。初始化空间区和已分配区说明链的值.设计作业申请队列以及作业完成后释放顺序.实现主存的分配和回收。要求每次分配和回收后显示出空闲内存分区链的情况。把空闲区说明链的变化情况以及各作业的申请、释放情况显示打印出来。

数据结构课程设计--哈希表实验报告

福建工程学院课程设计 课程:算法与数据结构 题目:哈希表 专业:网络工程 班级:xxxxxx班 座号:xxxxxxxxxxxx 姓名:xxxxxxx 2011年12 月31 日

实验题目:哈希表 一、要解决的问题 针对同班同学信息设计一个通讯录,学生信息有姓名,学号,电话号码等。以学生姓名为关键字设计哈希表,并完成相应的建表和查表程序。 基本要求:姓名以汉语拼音形式,待填入哈希表的人名约30个,自行设计哈希函数,用线性探测再散列法或链地址法处理冲突;在查找的过程中给出比较的次数。完成按姓名查询的操作。 运行的环境:Microsoft Visual C++ 6.0 二、算法基本思想描述 设计一个哈希表(哈希表内的元素为自定义的结构体)用来存放待填入的30个人名,人名为中国姓名的汉语拼音形式,用除留余数法构造哈希函数,用线性探查法解决哈希冲突。建立哈希表并且将其显示出来。通过要查找的关键字用哈希函数计算出相应的地址来查找人名。通过循环语句调用数组中保存的数据来显示哈希表。 三、设计 1、数据结构的设计和说明 (1)结构体的定义 typedef struct //记录 { NA name; NA xuehao; NA tel; }Record; 录入信息结构体的定义,包含姓名,学号,电话号码。 typedef struct //哈希表 { Record *elem[HASHSIZE]; //数据元素存储基址 int count; //当前数据元素个数 int size; //当前容量 }HashTable; 哈希表元素的定义,包含数据元素存储基址、数据元素个数、当前容量。 2、关键算法的设计 (1)姓名的折叠处理

一般智力测验实验报告

一般智力测验实验报告 一、瑞文智力测验简介 瑞文智力测验则是纯粹的非文字智力测验,是英国人瑞文在1983年设计的一个智力量表,简称瑞文智力测验。这是一套使用方便、用途广泛的智力测量工具,至今仍为国际心理学界和医学界所使用。由于该测验是非文字的,因而测验的结果较少受特殊文化背景的影响。瑞文测验最初型为渐近性矩阵标准型,整个测验一共由60张图案组成,按逐步增加难度的顺序分成A、B、C、D、E五组,每组都有一定的主题,题目的类型略有不同。从直观上看,A组主要测量知觉辩别力、图形比较、图形想象力等;B组主要测类同、比较、图形组合能力等;C组主要测比较、推理和图形组合能力;D组主要测系列关系、图形套合、比拟等;E组主要测互换、交错等抽象推理能力。可见,各组要求的思维操作水平也是不同的。测验通过评价被测者这些思维活动来研究他的智力活动能力。每一组中包含有12个题目,也按逐渐增加难度的方式排列。分别编号为A 1 ;A 2... A 12 ;B 1 ;B 2... B 12 等,每个题目由一幅缺少一小部分的大图案和作为选项的6~8张小图片组成(A组和B组有6张,C组以后有8张)小图片分别标号为1 , 2 ...... 8。测验中要求被测者根据大图案内图形间的某种关系——这正是需要被试者去思考、去发现的,看小图片中的那一张填入(在头脑中想象)大图片中缺失的部分最合适。 二、测验目的 熟悉智力测验(特别是团体测验)的施测方式;掌握瑞文测验的测验要领;体验瑞文测验;使学生能够正确分析和解释瑞文测验的结果。 三、实施该测验的条件 通过人员素质测评课第12章及以前各章相关知识的学习,对一般智力的概念有正确的理解。为每一位参加测验的学生准备瑞文测题本和测试答题纸一套。 四、测验过程 1、瑞文测验的使用要求 不论团体施测或个别施测都应为每个被试准备一张答卷纸,一个测验图册,提供或要求被试自备铅笔—支。一般正常三年级以上儿童与65岁以下成人均可用团体测验,其他则用个别施测。 团体施测主试须知: 1)准备足够的测验图册和答卷纸(每个被试—份并有少量富余)测验图册可多次使用。要求被试只在答卷纸上用铅笔作答。除要求被试自备铅笔外主试还要预备一些铅笔、小刀等。

风险评估实验报告

《计算机风险评估》实验指导书 班级:0904201 学号:090420115 姓名:张洋 哈尔滨工业大学(威海)

前言 计算机网络是现代信息社会最重要的基础设施之一,在过去的二十年里得到了迅速的发展和应用。以Internet为代表的计算机网络技术在为人类带来巨大便利的同时,也引发了诸多的信息安全问题。 《计算机风险评估》是信息安全专业本科生的专业选修课。课程实验教学的指导思想和目的是使学生在课程学习的同时,通过实验增强对信息安全测评与计算机安全风险评估基本知识和基本理论的理解,掌握基本的信息安全测评与安全风险评估方法和技术,使学生具备较强的信息安全风险分析和评估实践能力,为学生未来从事信息安全测评与计算机安全风险评估方面的研究和实践打下必备的实验技能基础。 课程实验内容主要涉及:网络安全扫描工具Nessus的安装和使用、信息安全风险评估软件RiskAssess的应用、网络扫描软件的设计与实现等。 实验环境: 1. 要求实验室连接局域网并且要与Internet相连,每台机器都分配IP地址; 2. 实验室要配置一台安装Linux操作系统的网络服务器,同时提供FTP, WWW, DNS, Email等服务; 3. 实验室要配置一台安装Windows XP或Windows 2007 Server操作系统的网络服务器,同时配置FTP, WWW, DNS, Email等服务; 4. 实验室要配置一台学生可以访问的路由器和一台可配置交换机; 5. 学生每人一台主机,安装Windows XP操作系统,同时安装C++和Java编程环境; 在《计算机网络》的课程实验过程中,要求学生做到: 1. 预习实验指导书的有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析; 2. 仔细观察上机和上网操作时出现的各种现象,记录主要情况,作出必要说明和分

数据结构实验四哈希表及其查找

云南大学数学与统计学实验教学中心实验报告 课程名称: 数据结构与算法学期: 2011-2012学年第二学期 成绩: 指导教师:xxx学生姓名:xxx学生学号:xxxxx 实验名称:哈希表及其查找实验要求:必做实验学时:4(+2)学时 实验编号:4(及5)实验日期:第6-8周完成日期:2012.5.10 学院:数学与统计学院专业:信息与计算科学年级:2010级 一、实验目的 通过实验掌握散列存储的基本概念,进行哈希问题的处理,同时附带进行字符串的处理的练习。 二、实验内容 为某单位的人名(n=30人)设计一个哈希表,使得平均查找长度<2,要求完成相应的哈希建表和查表。。 三、实验环境 Windows XP 程序设计语言C 四、实验过程 1.实验要求: 1、设人名长度<10个字符,用二维字符数组存储哈希表:char hash[ ][10]; 2、要求哈希函数用除留余数法,并用人名的10个字符代码和作为分子; 用(补偿性)线性探测再散列处理冲突。 3、依题意有:平均查找长度=(1+1/(1-α))/2< 2,∴取α=0.6, 由此哈希表长m=n/α=30/0.6=50; 所以有char hashlist [ 50][10]; 令:除留余数法中的P取47; (补偿性)线性探测再散列的地址:j=(j+Q)% m中的Q取17。 4、对程序结构的要求: ①要求为哈希建表和哈希查表分别编写和设计相应的函数: createhash( ... ... ); hashsearch(... ...); ②再设计一个哈希函数表的输出函数printhash( ),对构造的哈希表进行输出,注 意输出格式要在屏幕好看,先输出序号(1~30),再输出该序号 的人名或null,每行输出10项,共输出5行。 ③还应有一个初始化char hashlist [ 50][10]的函数Inithashlist( ), 初始时将50个人名全赋值为null. 5、在主函数中: 调用Inithashlist( )初始化哈希表;

首次适应算法 内存分配

操 作 系 统 实 验 报 告 课程名称:操作系统 实验题目:首次适应算法 姓名: **** 专业班级: *********** 学号: ************* 指导老师: *****

一、实验目的 在计算机系统中,为了提高内存区的利用率,必须给电脑内存区进行合理的分配。本实验通过对内存区分配方法首次适应算法的使用,来了解内存分配的模式。 二、实验要求 1.内存大小初始化 2.可以对内存区进行动态分配,采用首次适应算法来实现 3.可以对已分配的内存块进行回收,并合并相邻的空闲内存块。 三、实验内容 把一个作业装入内存,按照首次适应算法对内存区进行分配,作业结束,回收已分配给该作业的内存块,并合并相邻的空闲内存块。 四、实验结果 运行效果: 1.初始化内存区大小,并添加作业,选择1添加作业 2. 当作业大小超过存储块大小时,分配失败。 3.选择3,可查看内存分配情况 4.选择2回收内存 5.添加新作业 6.回收C作业,相邻的空闲内存块合并。 五、实验总结

首次适应算法要求空闲分区链以地址递增的次序链接。在分配内存时,从链首开始查找,直到找到一个大小能满足要求的空闲分区为止;然后按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲区仍留在空闲链中。若从链首到链尾都不能找到一个能满足要求的分区,则此次分配失败。这里,我采用数组的方式,模拟内存分配首次适应算法,动态的为作业分配内存块。可以根据作业名称回收已分配的内存块,当空闲内存块相邻时,则合并。 通过此次的实验,让我对内存分配中首次适应算法更加熟悉,在此基础上,我也测试最佳适应算法(best_fit)和最坏适应算法(worst_fit),并对其进行了比较分析,从比较中我发现,针对同一个问题,解决的方法不止一种,而且不同的方法所要消耗的资源和时间也不相同,根据不同的要求,方法的优劣也不同,可以说方法是解决问题的一种模式,随环境不同而体现出优越性。 六、实验附录 程序源代码: #include #include #include int neicun=200;//内存块默认大小 int fqNum=1;//已使用分区数目,进程数目=fqNum-1 #define number 100//进程数量 struct fqinfo//分区信息 { int start;//开始位置 int end;//结束位置 char name;//进程名称 int capactity;//进程大小或者分区块大小 int flag;//分区使用标记,0:未使用 1:已使用 2:回收或者合并的分区 3:尾部 }fqlist[number]; int init_neicun();//初始化内存大小 int first_fit(char name,int size);//首次适应算法 int fenpei();//为进程存储区 int showit();//显示进程 int menu();//功能菜单 int Memory_recovery();//内存回收 int exit();//退出系统

数据结构哈希表的实验报告

课程实习报告 一、需求分析: 1.本程序来自于图书馆靠书名来检索想要查找的书问题。 2.本程序要求: (1)根据输入建立图书名称表,采用创建散列表实现。 (2)建散列表后,如果想要查找的数据在散列表中输出yes否则输出no。 二、哈希表简介 结构中存在关键字和K相等的记录,则必定存储在f(K)的位置上。由此,不需比较便可直接取得所查记录。这个对应关系f称为散列函数(Hash function),按这个思想建立的表为散列表。

* 对不同的关键字可能得到同一散列地址,即key1≠key2,而f(key1)=f(key2),这种现象称冲突。具有相同函数值的关键字对该散列函数来说称做同义词。 * 综上所述,根据散列函数H(key)和处理冲突的方法将一组关键字映象到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“象”,作为这条记录在表中的存储位置,这种表便称为散列表,这一映象过程称为散列造表或散列,所得的存储位置称散列地址。这个现象也叫散列桶,在散列桶中,只能通过顺序的方式来查找,一般只需要查找三次就可以找到。科学家计算过,当负载因子(load factor)不超过75%,查找效率最高。* 若对于关键字集合中的任一个关键字,经散列函数映象到地址集合中任何一个地址的概率是相等的,则称此类散列函数为均匀散列函数(Uniform Hash function),这就是使关键字经过散列函数得到一个“随机的地址”,从而减少冲突。 程序设计流程 程序思想 (一)哈希函数unsigned int hash_BKDE(char *str)生成映射 地址,成为散列表的编号。 (二)哈希表HashTable::HashTable()通过数组储存元素 (三)插入函数void HashTable::insert(char*c)插入字符串, 先计算要插入字符串生成的映射地址,然后在相应的地址插入,如果没有空位查找空位插入。

相关文档
相关文档 最新文档