关闭

利用线性探测法构造哈希表

216人阅读 评论(0) 收藏 举报
利用线性探测法构造哈希表

      已知一组关键字为(26,36,41,38,44,15,68,12,06,51),用除余法构造散列函数,用线性探查法解决冲突构造这组关键字的散列表。
  解答:为了减少冲突,通常令装填因子α     由除余法的散列函数计算出的上述关键字序列的散列地址为(0,10,2,12,5,2,3,12,6,12)。
     前5个关键字插入时,其相应的地址均为开放地址,故将它们直接插入T[0],T[10),T[2],T[12]和T[5]中。
     当插入第6个关键字15时,其散列地址2(即h(15)=15%13=2)已被关键字41(15和41互为同义词)占用。故探查h1=(2+1)%13=3,此地址开放,所以将15放入T[3]中。
     当插入第7个关键字68时,其散列地址3已被非同义词15先占用,故将其插入到T[4]中。
     当插入第8个关键字12时,散列地址12已被同义词38占用,故探查hl=(12+1)%13=0,而T[0]亦被26占用,再探查h2=(12+2)%13=1,此地址开放,可将12插入其中。
     类似地,第9个关键字06直接插入T[6]中;而最后一个关键字51插人时,因探查的地址12,0,1,…,6均非空,故51插入T[7]中。

0
0
查看评论

搜索结构之哈希表(线性探测法)

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
  • qq_36221862
  • qq_36221862
  • 2017-06-20 12:01
  • 1407

线性探测法构造哈希表(hash)

以下是用线性探测法构造哈希表的一个具体例子: 已知一组关键字为(39,49,54,38,44,28,68,12,06,77),用除余法构造散列函数,用线性探查法解决冲突构造这组关键字的散列表。   解答:为了减少冲突,通常令装填因子α      由除余法的散列...
  • vainlyhopelim
  • vainlyhopelim
  • 2015-08-03 21:00
  • 3087

一个简单的哈希表(线性探测再散列)

#include using namespace std; #define  MAXLEN 11 #define INVALID_VALUE -1 void Init_hashtable(int hashtable[]) { for(int i=0;i { hash...
  • jw903
  • jw903
  • 2014-08-19 18:55
  • 1682

散列表--线性探测法

最近复习了下数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时比较迷茫,不知道到底是怎么计算出来的。现在通过查阅资料终于知道如何计算了,所以记录下来以供以后查阅。    下面看下2010年2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学...
  • u010841344
  • u010841344
  • 2014-10-13 15:36
  • 4243

Java实现hash表,线性探测,二次探测,再哈希法,链表法

package test2; class DataItem{ private int key; public DataItem(int data){ this.key = data; } public int getKey(){ return this.key; } } publ...
  • lingzhm
  • lingzhm
  • 2015-03-24 19:04
  • 1381

(第13讲)哈希表的开放地址法中的线性探测

哈希表:也叫散列表(Hash table,),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数(哈希函数),存放记录的数组叫做散列表(哈希表)。 线性探测:是指如果经过哈希化得到的数组下...
  • weiyastory
  • weiyastory
  • 2016-07-13 16:27
  • 833

数据结构:哈希表(除留取余法--线性探测法)

#include #include using namespace std; #define SUCCESS 1 #define UNSUCCESS 0 #define HASHSIZE 12 #define NULLKEY 0xffffffff/2 typedef struct { ...
  • s634772208
  • s634772208
  • 2015-05-08 23:10
  • 2893

Hash线性探测法C++实现

#include #include #define DefaultSize 10 using namespace std; enum KindOfStatus{Active,Empty,Deleted}; template class HashTable { public: HashTa...
  • liuhuiyan_2014
  • liuhuiyan_2014
  • 2015-04-11 20:00
  • 530

C++数据结构--.哈希表线性探测开放寻址法与独立表链地址法

1.哈希函数是个定位函数,它用键作为参数,返回表中的索引值   2.线性探测开放寻址法   *调用哈希函数处理键得到哈希值,用值除以表的长度后取余数,从而确定表中的一个位置   *如果该位置非空,则探测下一个位置,到达表最后一项时,折回表头。   *如果...
  • piniheaven
  • piniheaven
  • 2013-08-05 13:54
  • 1952

Hash解决冲突之线性探测

数据结构实验之查找七:线性之哈希表 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关...
  • power_to_go
  • power_to_go
  • 2016-08-18 20:35
  • 911
    个人资料
    • 访问:13018次
    • 积分:210
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:40篇
    • 译文:0篇
    • 评论:0条
    文章分类