散列表-拉链法
来源:互联网 发布:网页游戏修改软件 编辑:程序博客网 时间:2024/04/28 15:34
一个散列函数能够将转化为数组索引。散列算法的第二步是碰撞处理,也就是处理两个或者多个散列值的情况。一种直接的方法是将大小为M的数组的每一个元素指向一条链表,链表中的每个节点都存储了散列值为该元素的索引的键值对,这种方法称为拉链法,因为发生冲突的元素都被存储在链表之中,这个方法的基本思想就是选择足够大的M,使得所有链表都尽可能短以保证查找的高效。查找分为两步:首先根据散列值找到对应的链表,然后沿着链表顺序查找相应的键。
struct Node{ int key; int value; Node *next; Node(int _key,int _value) { key=_key; value=_value;}};class chainingHash{ private: int length; Node **node; public:chainingHash(int n){this.length=n; **node=new Node*[n]; }void put(int key,int value){ //key到hash值的转化,这里不具体写 int n=hash(key); Node *p=node[n]; while(p->next==null) p++; p->next=new Node(key,value);}int get(int key){ int n=hash(key); Node *p=node[n]; while(p->next==null) { if(p->key==key) {return p->value; break; } p++; } return -1;//表示没找到}}
0 0
- 散列表-拉链法
- 散列表-拉链法
- 基于拉链法的散列表
- 第十五题用拉链法实现散列表 POWERBY KTL
- 数据结构学习笔记5-散列表(拉链法)
- 基于拉链法的散列表(c++版)
- 拉链法
- Hash表(拉链法)
- 拉链法实现哈希表
- 哈斯 拉链法 C
- 哈希表 拉链法
- Hash开散列 拉链法
- 哈希表之拉链法
- php hash 拉链法
- 哈希表查找--拉链法
- 应用散列表和外拉链表统计文本中单词个数
- 哈希表查找 — 拉链法
- 第7天:散列HASH(四)冲突解决办法之外部拉链法
- List、Set、Map相关Q&A
- Silicon Lab Ember zigbee学习杂谈---zcl frame解析
- 【生活杂想】生命若不停,研究应不止
- android实现开机闪关灯闪一下功能
- Executor框架的线程池
- 散列表-拉链法
- [Offer收割]编程联赛1-B 优化延迟
- Ubuntu 图形界面损坏
- Translate在XML中的动画属性
- Contiki OS中build system
- 第二周学习JS感受
- 类别、扩展
- 知识点随记
- assert()函数