


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实习报告题目:设计一个哈希表,完成相应的建表和查表程序、需求分析 完成日期:1503013班级:姓名:李睿元学号:人名为中国人名的汉语拼音形式;2. 待填入哈希表的姓名共有30个,去平均查找长度的上限为2;3. 哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突;4. 取读者周围较熟悉的30个人的姓名。二、概要设计1. 抽象数据类型的定义:(1) 人名数据表:typedef struct Nodechar name20;int key;)Node,NodeListMAX;(2) 哈希表:typedef struct hashtablechar* name;int key;int conf
2、Ii ct_t i me;HashTabIehash Ien;(3) 变虽:#def ine P 61主要函数的实现:(1) 哈希函数:int Hash(int key)(2) 关键字获得:int GetKey(char str)(3) 文件流中读取姓名:void GetName(NodeList &L, int i,FILE* fp)(4) 哈希表的初始化:void InitiaIHashTabIe (HashTabIe &ht)(5) 伪随机探测序列的生成:void CreatConfilctArray(int n)(6) 哈希表的生成:void CreatHashTabIe(HashTa
3、bIe &ht.NodeList L. int* n)(7) 哈希表的查询:void SearchHashTabIe(HashTabIe ht. int* n. char get_name)三、详细设计#include #include #include #define P 61ame);Li key=GetKey(Li. name); /fscanf (fp. %s. Li name);Li.key二GetKey(Li. name);onfIi ct_t i meO;htn. name二NULL;htn. key二0:n卄:void CreatConfilctArray(int n)ey);
4、i f(htt conf Ii ct_t ime=0)htt name二Li name;ht t conf Iict_t i me+;ht t.key=Li.key;%dn. Li. name. Li. key, t);表内存储位萱:%d 值:key%s 姓名:抽潼晴龙 else int mO; int d= (t+nm)%hashIen;while(htd. conf Iict_t ime!=0)htd conf Iict_t i me+;m+;d= (t+nm)%hashIen;ht d name二Li name;ht d conf I ict_t i me+;htd key=Li.key
5、;轴;I晴龙 姓名:%s key 值:%d 表内存储位置:%dn.Li. name. Li, key. d); i卄;)void SearchHashTabIe(HashTabIe ht irrt* n. char get_name)onfIict_t ime二二0&hth. key!=k)抽潼晴龙表中未找到无此人! n);break: else if(hth. key二二k)抽潼晴龙,表内存储位直:%S已找到%dn, get_name. h) ; break;)elseP+;h=np;*/if (=NULL)表中未找到无此人!抽潼晴彦 n);break; else if(st
6、rcmp(hth name get_name)二二0)已找到抽潼晴龙纶s: %dn. get_name, h, s_t i me);查找次数%d表内存储位直:八break; else P卄;h= (t+np)%hashIen; s_t i me+;)int ma i n ()哈希表可以在理想情况下不经过任何比较,一次存取就能得到所查记录;2. 除留余数法对于p的选择很重要,经过分析后的选择是p为小于等于m的最大素数,最终 选择了 61;3. 伪随机探测再散列相较于线性探测再散列或二次探测再散能有效的防止二次堆积。四、用户手册1. 本程序的运行环境为Windows操作系统,执行文件为;2. 本程序的输入的名字存储在文件中;.程序进入后已经完成哈希表的构建并进行展示,用户只需进行相应的查找;3.五、测试数据1. 挑选表中已有的十个姓名进行测试(xiaoli, zhuangshuangshuang Iaobai, luj ia. xiaohei,huyazhou,abao.haoj ie. taosi j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册验船师资格考试(B级船舶检验专业法律法规)测试题及答案五
- 幼儿园师德师风工作总结汇报5篇
- 2025年注册验船师考试(C级船舶检验专业基础安全)冲刺试题及答案一
- 2025年国际旅行社导游岗位面试题及标准答案公布
- 2025年房地产销售招聘面试技巧与模拟题集答案
- 四川省资阳市安岳县石羊中学2026届化学高一上期末调研试题含解析
- 2025年青少年心理健康辅导培训课程试题及答案
- 2025年食盐储备库管理知识模拟考试题库
- 2025年初级软件工程师考试模拟题及答题技巧指导
- 2025年街道安全员实操面试题库大全
- T-CCSAS 050-2024 化学化工实验室化学品安全操作规程编写指南
- 2024广西继续教育公需科目(高质量共建“一带一路”)真题
- 《生态学园林》课件
- 再生障碍性贫血诊断与治疗中国指南(2024年版)解读
- 幼儿园教学主任培训
- 展会主办项目合同范例
- DB15T3644-2024 国有企业阳光采购规范
- 山东省淄博市沂源县2024-2025学年七年级上学期11月期中数学试题(含答案)
- 口腔科诊疗技术操作规范2023版
- 11YG301钢筋混凝土过梁(完整)
- 游戏陪玩行业社交化平台设计与推广策略
评论
0/150
提交评论