c++中的哈希算法实现
来源:互联网 发布:java模拟器安卓版官网 编辑:程序博客网 时间:2024/06/05 09:53
/*哈希算法的实现原理是:通过获得你要排序的序列长度(m),然后得出比这个 m 大的素数作为数组的长度(n),然后对接下来的输入数据(D)进行取模运算(v=D%n),然后取模之后的数据存到数组中。但是这样做会出现当个取模之后余数相同的情况 我这里介绍常用的解决方法 拉链哈希 : 拉链哈希 就是先进行哈希,但是在存储的时候使用链表。这样做的弊端是,当取模之后的余数相同的情况特别严重的时候会容易出现最坏的情况这时候你可以做的就是更改 n 值或者采用其他的解决方案,但是推荐采取更改 n 值 */#includeusing namespace std;typedef int Elm;#define Mod 7;struct nds{Elm data;nds* next;};struct L{int num;//标志这个链表的元素个数 nds *first; };L[Mod];void haxi_create(Elm *p,int n){int k=0;Elm r;nds *s,*h;while(k data=p[k];s->next=NULL;if(L[r]->first==NULL) L[r]->first=s;else {h=L[r]->first;while(h->next) h=h->next;h->next=s;}}}int haxi_find(Elm e){Elm b=E%Mod;bool flage=false;nds*o=L[b]->first;if(!o) return -1;while(o){if(o->data==e) {flage=true;break; }o=o->next;}if(flage) return 1;else return -1;}
阅读全文
0 0
- snort中的BM算法(c语言实现)
- c++中的哈希算法实现
- C语言算法实现运筹学中的马氏决策
- 数据结构中的排序查找算法(C语言实现)
- c语言算法实现-笔记-递归中的树
- 算法导论中的归并排序C语言实现
- 哈希算法&&Java中的HashMap实现原理
- memcahced-assoc.c,哈希算法的实现。
- 哈希算法 C语言实现(采用链表)
- 哈希算法 C语言 (数组实现)
- C语言中的算法
- 数据库中的算法实现
- 匈牙利算法(C#)实现
- 算法(c++)实现
- C#MD5算法实现
- md5算法C实现
- A*算法C实现
- KMP算法C实现
- Java读写XML代码示例
- 《数据结构学习与实验指导》3-9:队列中的元素排序
- c++中的查找算法
- 208.m1-ViewPager的优化
- can总线延时分析
- c++中的哈希算法实现
- 1162 Eddy's picture(最小生成树)
- Androidbuild.prop详细优化
- 共用体unoin
- 1863 畅通工程(最小生成树树)
- 1233 还是畅通工程(最小生成树)
- The _imaging C module is not installed
- 1875 畅通工程再续(最小生成树)
- ImageView、设定拓展硬件权限(读取内存卡)、ToggleButton、Switch、RatingBar、SeekBar