博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT 1145 1078| hashing哈希表 平方探测法
阅读量:5239 次
发布时间:2019-06-14

本文共 1390 字,大约阅读时间需要 4 分钟。

pat 1145:

1454456-20190719104106438-2034241098.png

Quadratic probing (with positive increments only) is used to solve the collisions.:平方探测法解决冲突

哈希表:H(key)求余数、二次平方探测法解决冲突、求平均查找长度AVL = 所有次数和/n

需要注意点:处理冲突统计查找次数时,如果查找到哈希表最后一个也失败了,那么次数要+1.

#include
using namespace std;/*哈希表:H(key)求余数、二次平方探测法解决冲突、求平均查找长度AVL = All/n */ const int maxn = 1e5+5;int Tsize,n,m;int a[maxn];int b[maxn];int hashTable[maxn];bool isPrime(int x){ if(x < 2) return false; for(int i=2;i<=sqrt(x);i++){ if(x%i == 0) return false; } return true;}int HashKey(int key){ return key%Tsize;}int main(){ memset(hashTable,-1,sizeof(hashTable)); cin>>Tsize>>n>>m; while(isPrime(Tsize) == false) Tsize++; for(int i=0;i
>a[i]; for(int i=0;i
>b[i]; //插入 for(int i=0;i

pat 1078 同上

数组存hash表、hash函数求余、平方探测法解决冲突,并且首先哈希表长度为素数。

#include
using namespace std;int Tsize,n;const int maxn = 1e4+10;int a[maxn];int table[maxn];bool isPrime(int x){ if(x < 2) return false; for(int i=2;i<=sqrt(x);i++){ if(x%i == 0) return false; } return true;}int getHash(int key){ return key%Tsize;}int main(){ cin>>Tsize>>n; for(int i=1;i<=n;i++) cin>>a[i]; while(isPrime(Tsize) == false) Tsize++; bool first = true; for(int i=1;i<=n;i++){ bool search = false; for(int j=0;j

另补充哈希冲突的处理方法 和 装填因子:

1454456-20190719104301016-1191191939.png

1454456-20190719104327964-1659301947.png

转载于:https://www.cnblogs.com/fisherss/p/11211904.html

你可能感兴趣的文章
js去除空格
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
IT学习神器——慕课网App获App Store、Android应用市场重磅推荐
查看>>
Linux网络状态工具ss命令使用详解
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
编程珠玑第十一章----排序
查看>>
Face The Right Way POJ - 3276 (开关问题)
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
变量的命名规范
查看>>
手机端自动跳转
查看>>
react中进入某个详情页URL路劲参数Id获取问题
查看>>
首届.NET Core开源峰会
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
python pdf转word
查看>>
文本相似度比较(网页版)
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>