| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8083 人关注过本帖
标题:Hash应用 - 哈希(散列)表
取消只看楼主 加入收藏
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
 问题点数:0 回复次数:14 
Hash应用 - 哈希(散列)表
写一个用Hash表存储一定数量string的程序。
Hash表的长度为350。给你一个435行的数据文件。这个文件以一行以'-'开头的数据结束。
下面是Hash函数要求:
H=int(k) mod 350
int(k)=P*k+c  //这后面没有读懂(c可能是统计string出现的次数吧)
其中
k=0为起始值
P是你自己选择的一个合适的素数
用动态链表处理碰撞问题。
你的程序须制定表中链表(应该是处理碰撞用的动态链表)长度来分析Hash表的效率。
你必须统计长度为0,1,2等等的链表的个数,并在程序中以简要的形式把它显示出来,
你在这个结果的基础上,可以了解到Hash表中是否出现过多的碰撞,从而改进的程序(应该是通过修改你给定的P值)
这个网站将给你一个有4小段检索字的数据文件http://www.staff.ncl.ac.uk/albert.koelmans/data.txt
你可以在你Hash表中检索这些单词,并了解这些检索字是否在你的Hash表中出现过

[此贴子已经被风中涟漪于2004-11-07 01:56:33编辑过]


搜索更多相关主题的帖子: 哈希 Hash 应用 
2004-11-01 22:23
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
原来积分可以送那么多的!!请那位好人帮我答阿~我保证以后的积分都给他了!谢谢大家!
2004-11-01 22:32
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 

老大你的书那里有的买阿???这里的老外都很自私的。。这里中国人又少!!哎!可怜啊!!可能是我翻译得不太好,我现在把原文放上来。你帮我研究一下啊!不过怎么也好,先谢谢你的回复,等我多点介绍朋友来灌水!哈哈!

Write a program that uses hashing to store a series of strings. The hash table should have a length of 350. You are given a data file which contains 425 lines. The file is herehttp://www.staff.ncl.ac.uk/albert.koelmans/data.txt) The file is terminated by a single line containing a '-' in the first position. The following hashing function is suggested: H = int(k) mod 350, where int(k) = P*k+c summed for all ASCII codes c in the string, where k = 0 is the start value. P is a suitably chosen prime number (choose it yourself). The method of dealing with collisions should be the dynamic linked list version. Your program must analyze the efficiency of your hashing scheme by determining how long the linked lists in the table are, i.e. you must count how many linked lists of length 0, 1, 2 and so on, there are. These results should be presented by your program in easily digestable form. After seeing the results, you might want to try to improve upon your hashing scheme if the number of collisions is excessive. Finally, the data file contains a small fourth section with search words. You should search for each word in your final hash table, and report whether each word is present or not.

2004-11-02 01:00
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
真的谢谢你!!原来还有那么贴心的版主!!!!我晕拉!!!支持支持~~~
2004-11-02 01:34
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 

哇哇哇~~~版主你哪里人,我立刻邮寄几瓶(鸡精)给你保养一下!!不过我还是不太明白!因为我以前在国内没有学过编程,,来到这边才转专业!!所以没有什么概念,,,,,希望你有时间可以帮我完成一下!!谢谢!

还有另外一位版主,你说的原件我们可能不能用拉!因为老师可能要看最原始的!!晕死!!不过也真的谢谢你的关注!谢谢!

怎么这个论坛的人那么好!晕死!

2004-11-03 00:19
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
我11月7号就要交了!真的晕死!我对hash  认识就是它是中文叫离散图表!!!就是把一堆字节或文件分散再重新排列放到array里面~~~再除以一个数字,等每一个字串都有自己的一个特别门牌~~~~~我大概就理解那么多!不过我最近正在努力的看有关的书籍,真的不想这样每次麻烦人家!我知道你们也是用业余的时间来管理论坛的!!真的不好意思!
2004-11-03 04:45
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
请楼上的那位可爱的斑主详细一点!你说的是什么软件阿??我真的一点概念都没有啊!!如果有好的方法希望赐教!!!真的希望你能帮到我!!因为另外一位版主去上课拉!!
2004-11-03 18:33
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 
来回答一下啊~~
2004-11-04 19:09
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 

不好意思阿!斑主你回来了!!我等你一个星期了!!真的不好意思又麻烦你!

p值随便选择个素数然后把答案弄到ASCII码!!!!!!!

2004-11-06 19:56
dicklin
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-11-1
收藏
得分:0 

刚才问了问老师原来 P的值是你自己任算一个质数(请注意一定是质数,不是素数)

之后C的意思是你随便输入一个数字电脑自动帮你转换成ASCII code 之后放到公式里面进行计算!!

大概意思就是这样!!希望有帮助!!!因为题目我自己都有点混乱!不好意思!

2004-11-06 20:10
快速回复:Hash应用 - 哈希(散列)表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025532 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved