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

Time Limit: 400MS Memory Limit: 65536KB
Submit Statistic

Problem Description

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

Input

输入一组测试数据,数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整数,数据之间用空格间隔。

Output

按输入数据的顺序输出各数在哈希表中的存储位置 (hash表下标从0开始),数据之间以空格间隔,以平方探测方法处理冲突。

Example Input

4 11
10 6 4 15
9 11
47 7 29 11 9 84 54 20 30

Example Output

10 6 4 5
3 7 8 0 9 6 10 2 1

DQE:哈希表平方探测法,注意Di序列各个元素通过i计算得到的关系,每次计算记得对p取余即可~
 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 int n,p;
 5
 6 int insert(int *f,int k)
 7 {
 8     int h=k%p;
 9     int i=1,j=h;
10     while(f[j]!=0&&f[j]!=k)
11     {
12         int t=(i+1)/2;
13         j=(h+t*t*(i%2==0?-1:1))%p;
14         i++;
15     }
16     f[j]=k;
17     return j;
18 }
19
20 int main()
21 {
22     while(scanf("%d %d",&n,&p)!=EOF)
23     {
24         int hash[1011]={0};
25         int i,k;
26         for(i=0;i<n;i++)
27         {
28             scanf("%d",&k);
29             printf("%d%c",insert(hash,k),i==n-1?'\n':' ');
30         }
31     }
32     return 0;
33 }
34
35 /***************************************************
36 User name: ***
37 Result: Accepted
38 Take time: 0ms
39 Take Memory: 152KB
40 Submit time: 2016-12-03 13:06:06
41 ****************************************************/

转载于:https://www.cnblogs.com/Leroscox/p/6128567.html

SDUT 3377 数据结构实验之查找五:平方之哈希表相关推荐

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

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

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

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

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

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

  4. SDUT OJ 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)

    数据结构实验之图论五:从起始点到目标点的最短步数(BFS) Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss P ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. STARTUP报错:ORA-00205: error in identifying control file, check alert log for more info
  2. 机器学习(Part I)机器学习的种类
  3. 一篇文章带你搞定Python返回函数
  4. 超级详细的教程 一步步教你Vue项目中使用axios如何进行参数拼接
  5. 单选按钮步骤流程向导 js_创建令人愉快的按钮的6个步骤
  6. PowerBI,自定义编辑同一页面中不同图表之间的交互,使页面交互更灵活
  7. Tips--Anaconda安装TensorFlow报错ImportError: DLL load failed
  8. LightOJ1171 Knights in Chessboard (II)(二分图最大点独立集)
  9. 物资申请php,危废企业申请经营许可证需满足的条件及申请程序
  10. android 自定义加载圈,Android自定义加载控件实现数据加载动画
  11. 机器人、威胁情报、对抗机器学习以及深度学习是如何影响安全领域的
  12. 怎么查看计算机办公软件版本的,怎样查看电脑用的什么办公软件
  13. phpQuery占用过多内存的解决方法
  14. 关于ONION/Wncry勒索病毒
  15. Agarose bound-WFA,WFL;琼脂糖结合紫藤凝集素(WFA,WFL)
  16. 【Codeforces Round #548(Div. 2)】Edgy Trees(数学+bfs求连通块)
  17. 最长公共子序列(LCS)C++版递归算法实现
  18. 通讯录的实现(静态版本,动态版本,文件版本)(后附完整源代码)
  19. 一本通1652牡牛和牝牛
  20. shell -- expr命令

热门文章

  1. 机器学习笔试面试超详细总结(四)
  2. TensorFlow(八)激活函数
  3. 数据集准备及数据预处理_1.准备数据集
  4. 许家印帮贾跃亭广州拿地造车,这是要翻身的节奏吗?
  5. MATLAB快速拟合二组数据
  6. 基于matlab的车牌识别系统程序,基于matlab的车牌识别系统的设计(附程序).doc
  7. vscode 调试_如何使用VSCode调试JS?
  8. springboot几种注入_Spring Boot中使用JdbcTemplate访问数据库
  9. 大连开发区取暖费能微信支付吗_下半年教资报考人数增加,那到底能不能异地报考呢?...
  10. 【蔡勒公式 】根据给定的年月日求出对应星期几