数据结构哈希表设计.doc

上传人:龙*** 文档编号:1098258 上传时间:2018-12-06 格式:DOC 页数:16 大小:98KB
下载 相关 举报
数据结构哈希表设计.doc_第1页
第1页 / 共16页
数据结构哈希表设计.doc_第2页
第2页 / 共16页
数据结构哈希表设计.doc_第3页
第3页 / 共16页
数据结构哈希表设计.doc_第4页
第4页 / 共16页
数据结构哈希表设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、一、 问题描述针对某个集体(比如你所在的班级)中的“人名”设计一个哈希表,使得平均查找长度均不超过 R,完成相应的建表和查表顺序。二、 基本要求假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有 30 个,取平均查找长度的上限为 2。哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突。三、 概要设计1. 构造结构体:typedef struct;2. 姓名表的初始化:void InitNameTable();3. 建立哈希表:void CreateHashTable();4. 显示姓名表:void DisplayNameTable();5. 姓名查找:void FindName()

2、;6. 主函数:void main() ;四、 详细设计1. 姓名表的初始化void InitNameTable() NameTable0.py=“louyuhong“;NameTable1.py=“shenyinghong“;NameTable2.py=“wangqi“;NameTable3.py=“zhuxiaotong“;NameTable4.py=“zhataotao“;NameTable5.py=“chenbinjie“;NameTable6.py=“chenchaoqun“;NameTable7.py=“chencheng“;NameTable8.py=“chenjie“;Name

3、Table9.py=“chenweida“;NameTable10.py=“shanjianfeng“;NameTable11.py=“fangyixin“;NameTable12.py=“houfeng“;NameTable13.py=“hujiaming“;NameTable14.py=“huangjiaju“;NameTable15.py=“huanqingsong“;NameTable16.py=“jianghe“;NameTable17.py=“jinleicheng“;NameTable18.py=“libiao“;NameTable19.py=“liqi“;NameTable20

4、.py=“lirenhua“;NameTable21.py=“liukai“;NameTable22.py=“louhanglin“;NameTable23.py=“luchaoming“;NameTable24.py=“luqiuwei“;NameTable25.py=“panhaijian“;NameTable26.py=“shuxiang“;NameTable27.py=“suxiaolei“;NameTable28.py=“sunyubo“;NameTable29.py=“wangwei“;for (i=0;i#include /time 用到的头文件#include /随机数用到的头

5、文件#include /toascii()用到的头文件#include /查找姓名时比较用的头文件#define HASH_LEN 50 /哈希表的长度 #define P 47 /小于哈希表长度的 P#define NAME_LEN 30 /姓名表的长度 typedef struct /姓名表char *py; /名字的拼音int m; /拼音所对应的 NAME;NAME NameTableHASH_LEN; /全局定义姓名表typedef struct /哈希表char *py; /名字的拼音int m; /拼音所对应的 ASCII 总和int si; /查找长度HASH;HASH Has

6、hTableHASH_LEN; /全局定义哈希表int d30,i,j; /全局定义随机数,循环用的 i、jvoid InitNameTable() /姓名表的初始化 NameTable0.py=“louyuhong“;NameTable1.py=“shenyinghong“;NameTable2.py=“wangqi“;NameTable3.py=“zhuxiaotong“;NameTable4.py=“zhataotao“;NameTable5.py=“chenbinjie“;NameTable6.py=“chenchaoqun“;NameTable7.py=“chencheng“;Nam

7、eTable8.py=“chenjie“;NameTable9.py=“chenweida“;NameTable10.py=“shanjianfeng“;NameTable11.py=“fangyixin“;NameTable12.py=“houfeng“;NameTable13.py=“hujiaming“;NameTable14.py=“huangjiaju“;NameTable15.py=“huanqingsong“;NameTable16.py=“jianghe“;NameTable17.py=“jinleicheng“;NameTable18.py=“libiao“;NameTabl

8、e19.py=“liqi“;NameTable20.py=“lirenhua“;NameTable21.py=“liukai“;NameTable22.py=“louhanglin“;NameTable23.py=“luchaoming“;NameTable24.py=“luqiuwei“;NameTable25.py=“panhaijian“;NameTable26.py=“shuxiang“;NameTable27.py=“suxiaolei“;NameTable28.py=“sunyubo“;NameTable29.py=“wangwei“;for (i=0;iNAME_LEN;i+) /将字符串的各个字符所对应的 ASCII 码相加,所得的整数做为哈希表的关键字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。