Description 采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用链地址法。建立链表的时候采用尾插法。Input 第一行为哈西表的长度;第二行为关键字的个数n; 第三行为关键字集合; 第四行为要查找的数据。Output 如果查找成功,输出该关键字所在哈希表中的地址和...
分类:
其他好文 时间:
2015-06-16 10:44:42
阅读次数:
574
以下是经过DEV-C++调试过的代码 还有框图:
头文件hashlist.h
#ifndef _H_HASHLIST_
#define _H_HASHLIST_
#define HASH_NUM_MAX 100
#define u32 unsigned int
//typedef struct _Node * pNode;
//typedef struct _Hash...
分类:
其他好文 时间:
2014-12-10 22:51:52
阅读次数:
295
一:学些心得
1 getHash函数的设计最牛的是Unix中处理字符串的ELFHash();当然也可以自己写一个比较简单的getHash函数关键在于去mod M的M值,使器均匀的分布(一般是不大于hash_size的某一个素数,接近于2的某次幂);但是有一点需要注意就是返回的hash值必须是正值。
2 处理冲突的方法:链地址法是比较好的方法了(静态动态都可以的);二次哈希(一般是加key值)再...
分类:
其他好文 时间:
2014-11-25 14:28:57
阅读次数:
332
哈希表的链地址法来解决冲突问题将所有关键字为同义词的记录存储在同一个线性链表中,假设某哈希函数产生的哈希地址在区间[0, m -
1]上,则设立一个至振兴向量Chain ChainHash[m];数据结构//链表结点typedef struct _tagNode{ int data;
...
分类:
其他好文 时间:
2014-05-31 19:23:52
阅读次数:
436