E数据结构实验之查找五:平方之哈希表
Description
给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,…,m-1
Input
输入包含多组测试数据,到 EOF 结束。
每组数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整数,数据之间用空格间隔。
Output
按输入数据的顺序输出各数在哈希表中的存储位置 (hash表下标从0开始),数据之间以空格间隔,以平方探测方法处理冲突。
Sample
Input
4 11
10 6 4 15
9 11
47 7 29 11 9 84 54 20 30
Output
10 6 4 5
3 7 8 0 9 6 10 2 1
#include<bits/stdc++.h>using namespace std;int Hash[555];int main()
{int n, mod;while(cin >> n >> mod){memset(Hash, -1, sizeof(Hash));//初始化Hsah为-1for(int i = 0; i < n; i++){int k;cin >> k;k %= mod;Hash[k]++;//把取余后的数字放到hash数组中,并且加1,加1后hash中的数字就不会是-1if(!Hash[k]){cout << k; //hash中的数==0,就证明里面存放了数字且没有冲突,输出即可}else{for(int j = 1; j <= mod - 1; j++){if(Hash[(k + j * j) % mod] == -1)判断是否已经有数字存放进去{Hash[(k + j * j) % mod]++;//做加1操作cout << (k + j * j) % mod;//输出数据break;}else if(Hash[(k - j * j) % mod] == -1){Hash[(k - j * j) % mod]++;cout << (k - j * j) % mod;break;}}}if(i == n - 1)cout << endl;elsecout << " ";}}return 0;
}
E数据结构实验之查找五:平方之哈希表相关推荐
- e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗
#新人扶持计划# Hash表在面试中经常被问到,今天我们来了解下. Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组.链表以及二叉排序树等相比较有很明显的区别,它能够 ...
- e - 数据结构实验之查找五:平方之哈希表_leetcode算法之哈希表
今天该来盘一盘 哈希表 这类题目 分类别解析leetcode上的一些相关的例题路,代码采用C++与python实现. 哈希表 哈希表是一种很有用的数据结构, 其作用主要是以空间换时间, 在c++中主要 ...
- SDUT 3377 数据结构实验之查找五:平方之哈希表
数据结构实验之查找五:平方之哈希表 Time Limit: 400MS Memory Limit: 65536KB Submit Statistic Problem Description 给定的一组 ...
- 数据结构实验之查找五:平方之哈希表
题目描述 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1 ...
- 数据结构实验之链表五:单链表的拆分-sdut
数据结构实验之链表五:单链表的拆分 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 输入N个 ...
- SDUT-3378_数据结构实验之查找六:顺序查找
数据结构实验之查找六:顺序查找 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在一个给定的无序序列里,查找与给定关键字 ...
- 数据结构实验之查找七:线性之哈希表
数据结构实验之查找七:线性之哈希表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 根据给定 ...
- SDUT 3379 数据结构实验之查找七:线性之哈希表
数据结构实验之查找七:线性之哈希表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 根据给定的一系列整数关键字和素数p, ...
- 数据结构实验之二叉树五:层序遍历 // oj3344 队列+二叉树 // 先序 --层次
原题链接:oj3344 数据结构实验之二叉树五:层序遍历 Description 已知一个按先序输入的字符序列,如abd,eg,cf,(其中,表示空结点).请建立二叉树并求二叉树的层次遍历序列. In ...
最新文章
- 如何用纯 CSS 创作一个单元素抛盒子的 loader
- couchdb 任意命令执行漏洞(cve-2017-12636)
- linux去掉java路径_Java显示目录文件列表和删除目录
- 分布式监控系统开发【day37】:需求讨论(一)
- java实现多文件上传至本地服务器
- HDU 5876 关于补图的bfs
- Ubuntu中让SSH自动重连
- Analysis by Its History Theorem 2.2 牛顿广义二项式公式
- #计算长方形的周长和面积公式_探索长方形的面积计算公式教学设计及反思
- 好用的工程项目管理软件推荐
- 2019厦门科技中学计算机特长,注意看!2019厦门市属学校特长生录取入围名单公布!...
- ubuntu18.04安装Nvidia显卡
- BZOJ 1135: [POI2009]Lyz
- k8s-滚动更新与健康检查
- qq飞车前瞻版服务器维护,QQ飞车手游前瞻版
- 托福写作范文(番外:自我介绍)
- python上海培训学校Python是什么
- ClassIn 退出专注学习模式 关闭专注学习模式
- SCI最全写作思维导图
- 【HZHE001】黄子涵学习Echarts
热门文章
- LeetCode-链表-142. 环形链表 II
- “互联网+医疗健康” 行业调研报告
- 注释驱动的 Spring cache 缓存介绍--转载
- spring beans源码解读之--BeanFactory的注册
- 【数据库】Redis是什么
- 中央纪委网站:​深度关注 | 元宇宙如何改写人类社会生活
- 详细的mongo工具手册,包含常见CURD+条件操作+聚合+案例
- 深度丨110亿美金还不够,阿里使用这种AI手段创造更多广告收入
- 抛弃PHP,WordPress.com以JavaScript重写
- 可视化自编码器训练结果