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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的2017年前端之路总结

原文首发于我的博客 年末了&#xff0c;赶着刚考完两门考试&#xff0c;在最后4门考试来临之前抽空写一下今年的小结。 今年格外忙。忙完本科毕设&#xff0c;又马上投入了研究生实验室的搬砖生涯。跟去年一样&#xff0c;列个今年的学习成果清单&#xff1a; 过去的一年 技术成…

对软件工程的疑问

在大学时光中学习了算法编程后&#xff0c;我发现我对于源程序理解很差&#xff0c;我只会很低程度的写代码&#xff0c;但是基本描述不出来。所以我的编程很差&#xff0c;而且由于我很少打代码&#xff0c;所以我的编程能力基本没有多少提高&#xff0c;我也没有发现该学什么…

【深度学习】——分类损失函数、回归损失函数、交叉熵损失函数、均方差损失函数、损失函数曲线、

目录 代码 回归问题的损失函数 分类问题的损失函数 1、 0-1损失 (zero-one loss) 2、Logistic loss 3、Hinge loss 4、指数损失(Exponential loss) 机器学习的损失函数 Cross Entropy Loss Function&#xff08;交叉熵损失函数&#xff09; 交叉熵优点 Mean Squared E…

伺服电机惯量问题

在伺服系统选型及调试中&#xff0c;常会碰到惯量问题。 其具体表现为&#xff1a;在伺服系统选型时&#xff0c;除考虑电机的扭矩和额定速度等等因素外&#xff0c;我们还需要先计算得知机械系统换算到电机轴的惯量&#xff0c;再根据机械的实际动作要求及加工件质量要求来…

【转】应用架构一团糟?如何将单体应用改造为微服务

概述 将单体应用改造为微服务实际上是应用现代化的过程&#xff0c;这是开发者们在过去十年来一直在做的事情&#xff0c;所以已经有一些可以复用的经验。 全部重写是绝对不能用的策略&#xff0c;除非你要集中精力从头构建一个基于微服务的应用。虽然听起来很有吸引力&#xf…

Linux 解决ssh连接慢的问题

备份文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 编辑文件 vi /etc/ssh/sshd_config 输入/ 查找GSSAPIAuthentication 设置如下 GSSAPIAuthentication no # 是否允许使用基于 GSSAPI 的用户认证。默认值为"no"。仅用于SSH-2 详细解释 输入/ 查找UseDNS …

ABB机器人与PC计算机控制口连接 超级终端 命令清单

条件&#xff1a; 9 针串口通信 RS232。 PC 启动超级终端软件。Windows -> Start -> Accessories -> Terminal 通信设置&#xff1a; 1. 波特率 9600 8 位2. 1 个停止位 没有奇偶校验3. 没有 Modern 采用直接串口连接4. 使用 Xon/Xoff 通信形式当故障发生时&#xff0…

【Hibernate】Hibernate系列6之HQL查询

HQL查询 6.1、概述 6.2、分页查询 6.3、命名查询 6.4、投影查询-部分字段查询 6.5、报表查询 6.6、迫切左外连接、左外连接 6.7、迫切内连接、内连接 6.8、QBC查询、本地查询 转载于:https://www.cnblogs.com/junneyang/p/5254641.html

【深度学习】——梯度下降优化算法(批量梯度下降、随机梯度下降、小批量梯度下降、Momentum、Adam)

目录 梯度 梯度下降 常用的梯度下降算法&#xff08;BGD&#xff0c;SGD&#xff0c;MBGD&#xff09; 梯度下降的详细算法 算法过程 批量梯度下降法&#xff08;Batch Gradient Descent&#xff09; 随机梯度下降法&#xff08;Stochastic Gradient Descent&#xff09…

Javascript隐式转换

乱想 javascript为什么需要隐式转换&#xff1f;如果没有会出现什么情况&#xff1f; 找了一圈没有看到关于这个的讨论&#xff0c;只好自己研究了&#xff0c;可能不一定正确&#xff0c;自行辨知。 郁闷就是郁闷在好好的&#xff0c;为什么要搞个隐式转换&#xff0c;一般来讲…

双工位机器人 焊接夹具注意事项 o(╯□╰)o

焊接夹具设计注意事项 一套完美的夹具,需要机械设计人员正确的设计思想&#xff0c;良好的配件质量&#xff0c;钳工负责认真的装配质量,卡具在使用中不断的修磨和改进&#xff0c;才会达到好的效果。 本人非机械设计&#xff0c;只是在使用焊接卡具过程中遇到了很多卡具设计上…

【公共类库】加密解密

public static class MyEncryption{#region Md5加密/// <summary>/// 使用MD5加密/// </summary>/// <param name"str">需要加密的数据。</param>/// <param name"kind">加密类型&#xff1a;1-普通加密&#xff1b;2-密码加…

使用JOTM实现分布式事务管理(多数据源)

使用spring和hibernate可以很方便的实现一个数据源的事务管理,但是如果需要同时对多个数据源进行事务控制,并且不想使用重量级容器提供的机制的话,可以使用JOTM达到目的. JOTM的配置十分简单,spring已经内置了对JOTM的支持,一.<bean id"jotm" class"org.spri…

【机器学习】——《机器学习实战》面试复习

目录 一、机器学习概念 二、机器学习步骤 三、有监督学习 1、k-近邻算法 核心思想 实例&#xff1a;手写数字的识别 优缺点&#xff1a; 2、决策树 相关概念 核心思想 一些小技巧 优缺点 3、神经网络 4、SVM——支持向量机 核心思想 SVM和SVR的区别 ​ 优缺点…

一键分享代码

文章出处&#xff1a;http://share.baidu.com/code/advance 一、概述 百度分享代码已升级到2.0&#xff0c;本页将介绍新版百度分享的安装配置方法&#xff0c;请点击左侧列表查看相关章节。 二、代码结构 分享代码可以分为三个部分&#xff1a;HTML、设置和js加载&#xff0c;…

ubuntu安装LDAP

参考文献&#xff1a; https://help.ubuntu.com/12.04/serverguide/openldap-server.html&#xff08;最主要的&#xff09; http://www.linuxidc.com/Linux/2011-08/40020.htm http://blog.chinaunix.net/uid-24276740-id-3360306.html 前言 在网上搜索ldap的安装配置&#xf…

58.贪心算法练习:  最小新整数

总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个十进制正整数n(0 < n < 1000000000)&#xff0c;每个数位上数字均不为0。n的位数为m。现在从m位中删除k位(0< m)&#xff0c;求生成的新整数最小为多少&#xff1f;例如: n 9128456, k 2, 则生成的新整数最小…

ABB机器人之LOADDATA

ABB机器人之LOADDATA loaddata是用来描述连接到机器人机械接口的负载&#xff08;机器人的安装法兰&#xff09;。loaddata数据通常定义有效载荷或负荷&#xff08;通过指令gripload设置机器人抓手负载 或mechunitload指令设置变位机负载。loaddata通常也作为tooldata的一部分&…

【深度学习】——性能指标(ROC、MAP、AUC等)

目录 一、分类任务性能指标 1、混淆矩阵 2、精确度ACCURACY 正确数/总数 3、查全率&#xff08;RECALL&#xff09;——真正正样本中预测正确的比例 4、查准率&#xff08;precision&#xff09;——预测为正样本中的预测正确的比例 5、F-score——对查准率和查全率进行结…

【深度学习】——过拟合的处理方法

目录 一、什么是过拟合&#xff1f;&#xff08;overfitting&#xff09; 二、过拟合的表现&#xff08;判定方法&#xff09; 训练集、测试集、验证集区别 测试集与验证集的区别 三、产生过拟合的原因 1、样本方面 2、模型方面 四、避免过拟合的方法 1、样本方面 1&…