一:问题描述
针对某个集体(比如你所在的班级)中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相对的建表和查表程序。
二:基本要求
假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突。
三:实现提示
如果随机函数自行构造,则应首先调整好随机函数,使其分布均匀。人名的长度均不超过19个字符(最长的人名如:庄双双(ZHAGN SHUANG SHUANG)。字符的取码方法可直接利用C语言中的tosacii函数,并可对过长的人名先作折叠处理。
四:需求分析
本演示程序是对哈希表的建立和查找进行演示,主要数据来自自己编写的人名“A~~Z”等字母组成,拼音由开头的字母组成的词组,查找时用伪随机探测再散列法处理冲突。随机产生人名的位置。具体的程序内容在源程序里面有比较详细的解析。程序的运行在下列有详细的介绍。
标签:
上传时间:
2015-06-22
上传用户:wab1981