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数据结构实验之查找五:平方之哈希表相关推荐

  1. e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗

    #新人扶持计划# Hash表在面试中经常被问到,今天我们来了解下. Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组.链表以及二叉排序树等相比较有很明显的区别,它能够 ...

  2. e - 数据结构实验之查找五:平方之哈希表_leetcode算法之哈希表

    今天该来盘一盘 哈希表 这类题目 分类别解析leetcode上的一些相关的例题路,代码采用C++与python实现. 哈希表 哈希表是一种很有用的数据结构, 其作用主要是以空间换时间, 在c++中主要 ...

  3. SDUT 3377 数据结构实验之查找五:平方之哈希表

    数据结构实验之查找五:平方之哈希表 Time Limit: 400MS Memory Limit: 65536KB Submit Statistic Problem Description 给定的一组 ...

  4. 数据结构实验之查找五:平方之哈希表

    题目描述 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1 ...

  5. 数据结构实验之链表五:单链表的拆分-sdut

    数据结构实验之链表五:单链表的拆分 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 输入N个 ...

  6. SDUT-3378_数据结构实验之查找六:顺序查找

    数据结构实验之查找六:顺序查找 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在一个给定的无序序列里,查找与给定关键字 ...

  7. 数据结构实验之查找七:线性之哈希表

    数据结构实验之查找七:线性之哈希表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 根据给定 ...

  8. SDUT 3379 数据结构实验之查找七:线性之哈希表

    数据结构实验之查找七:线性之哈希表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 根据给定的一系列整数关键字和素数p, ...

  9. 数据结构实验之二叉树五:层序遍历 // oj3344 队列+二叉树 // 先序 --层次

    原题链接:oj3344 数据结构实验之二叉树五:层序遍历 Description 已知一个按先序输入的字符序列,如abd,eg,cf,(其中,表示空结点).请建立二叉树并求二叉树的层次遍历序列. In ...

最新文章

  1. 如何用纯 CSS 创作一个单元素抛盒子的 loader
  2. couchdb 任意命令执行漏洞(cve-2017-12636)
  3. linux去掉java路径_Java显示目录文件列表和删除目录
  4. 分布式监控系统开发【day37】:需求讨论(一)
  5. java实现多文件上传至本地服务器
  6. HDU 5876 关于补图的bfs
  7. Ubuntu中让SSH自动重连
  8. Analysis by Its History Theorem 2.2 牛顿广义二项式公式
  9. #计算长方形的周长和面积公式_探索长方形的面积计算公式教学设计及反思
  10. 好用的工程项目管理软件推荐
  11. 2019厦门科技中学计算机特长,注意看!2019厦门市属学校特长生录取入围名单公布!...
  12. ubuntu18.04安装Nvidia显卡
  13. BZOJ 1135: [POI2009]Lyz
  14. k8s-滚动更新与健康检查
  15. qq飞车前瞻版服务器维护,QQ飞车手游前瞻版
  16. 托福写作范文(番外:自我介绍)
  17. python上海培训学校Python是什么
  18. ClassIn 退出专注学习模式 关闭专注学习模式
  19. SCI最全写作思维导图
  20. 【HZHE001】黄子涵学习Echarts

热门文章

  1. LeetCode-链表-142. 环形链表 II
  2. “互联网+医疗健康” 行业调研报告
  3. 注释驱动的 Spring cache 缓存介绍--转载
  4. spring beans源码解读之--BeanFactory的注册
  5. 【数据库】Redis是什么
  6. 中央纪委网站:​深度关注 | 元宇宙如何改写人类社会生活
  7. 详细的mongo工具手册,包含常见CURD+条件操作+聚合+案例
  8. 深度丨110亿美金还不够,阿里使用这种AI手段创造更多广告收入
  9. 抛弃PHP,WordPress.com以JavaScript重写
  10. 可视化自编码器训练结果