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

单片机驱动SD3077时钟芯片 SD3077时钟芯片驱动编写及初始时间读写、用户RAM数据读写功能测试 阅读详情

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

Time Limit: 400MS  Memory Limit: 65536KB
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
Hint
 
Author

xam

#include <stdio.h>
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
    int hash[15000],n,p,k,i,j;
    while(cin>>n>>k)
    {
        memset(hash,-1,sizeof(hash));
        while(n--)
        {
            int x;
            cin>>x;
            x=x%k;
            hash[x]++;
            if(hash[x]==0)
            {
                cout<<x;
            }
            else
            {
                for(j=1;j<k;j++)
                {
                    if(hash[(x+j*j)%k]==-1)
                    {
                        hash[(x+j*j)%k]++;
                        cout<<(x+j*j)%k;
                        break;
                    }
                    else if(hash[(x-j*j)%k]==-1)
                    {
                        hash[(x-j*j)%k]++;
                        cout<<(x-j*j)%k;
                        break;
                    }
                }
            }
            if(n!=0) cout<<" ";
        }
        cout<<endl;
    }
    return 0;
}


【数据结构】 哈希表查找—哈希函数、哈希冲突 将一组关键字映象到一个有限的、地址连续的地址集(区间)上,并以关键字在地址集中的象作为相应数据元素在表中的存储位置,如此构造所得的查找表称之为哈希表。 阅读详情

相关推荐

量子阱技术解析:从基础原理到前沿应用

本文深入解析量子阱技术,从微观“能量游泳池”的基础原理出发,阐释了其通过限制电子实现能级量子化,从而精确调控发光波长的核心机制。文章详细探讨了量子阱在半导体激光器和LED中的革命性应用,如实现低阈值电流与高亮度显示,并展望了其在能带工程及量子级联激光器等前沿领域的发展与挑战。

weixin_29267307的博客 282

数据结构-哈希表的查找

哈希表的查找

Einstein·Jun 1058

PCL 将对象模板与点云对齐【2025最新版】

PCL模版匹配算法的使用案例,博客长期更新,本文最近更新时间为:2025年1月18日。

点云侠的博客 5378

数据结构--哈希表查找

一、引言 哈希表查找也是一种查找方式,在此之前,如果了解其它查找方法,然后对比该方法最好 本篇文章主要从两个方面介绍哈希表,一是哈希表的构造方法,另一个是哈希表的处理冲突方法。 同时,本篇文章介绍元素类型为数字整型。 红色尾非常主要内容,蓝色为细节内容。 二、哈希表概念及原理 1.  哈希表定义: 哈希表(散列表), 是根据关键码值(Key value)而直接进行访问的数据结构。也就...

hernofogot的博客 2276

全15万字丨PyTorch 深度学习实践、基础知识体系全集;忘记时,请时常回顾。

本篇博客介绍的知识是——深度学习之PyThon框架基础。这是深度学习/神经网络的基础,多次回顾,会有不一样的感受。书读百遍,其义自见。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 5785

顶级AI大模型白嫖ChatGPT Plus1个月,0成本薅顶配功能

Chat*** Plus限时免费1个月!原价20美元/月的顶配功能

BUG猿的博客 7271

数据结构-哈希查找

哈希查找

liu319293960_的博客 237

ccSwitch 安装使用指南,claude code的最佳搭档

ccSwitch 是一款真正为 AI 编程开发者打造的效率工具。它把原本繁琐的配置管理工作,简化成了直观的图形界面操作。无论你是需要在多个 API 提供商之间切换,还是想要统一管理多款 AI 编程工具,ccSwitch 都能帮你大幅提升效率。如果你是重度 AI 编程工具用户,强烈推荐尝试一下 ccSwitch,相信它会成为你开发工具箱中不可或缺的一员。项目地址。

篮球界最会写bug的人;程序猿中打球最菜的人。 1285

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

数据结构实验之查找五:平方之哈希表 Time Limit:400 msMemory Limit:65536 KiB SubmitStatistic Problem Description 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,...

iQXQZX 274

Isaac Sim/Lab & ROS2 入门教程 —— 宇树人形机器人 H1 强化学习策略部署

本文介绍了如何通过ROS2和IsaacSim运行H1人形机器人的强化学习运动策略。主要内容包括:1)设置机器人关节配置和初始位置;2)添加IMU传感器;3)配置ROS2节点以发布观测数据和接收动作指令;4)创建模拟环境并发布ROS时钟;5)最终运行ROS2策略实现对机器人的键盘控制。文中详细说明了关节参数设置、传感器配置、ROS2节点创建等关键步骤,并提供了注意事项和验证方法。完成配置后,用户可通过键盘指令控制机器人在平坦地形上的运动。

2506_90492529的博客 2170

CATIA V6二次开发——如何利用CaptureToFile截屏

CaptureToFile 今天给大家分享一个很有趣的功能,如何利用CATIA自带的功能输出模型展示图? 先上方法: 方法本身并不难,只需要赋予格式及输出路径即可完成该功能。结果如下: 看到这样一张图片不禁让我陷入了沉思,怎么会这么丑???? 那么如何让这个简单的功能变得有趣,图片变得好看点呢? 第一步:背景换色 第二步:隐藏结构树 ...

WorkMan的博客 2982

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 按输入数

K_Programmer的博客 219

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 数据结构实验之查找四:二分查找
下一篇: 数据结构实验之查找七:线性之哈希表
ProsperousSun
博客等级 码龄10年 4粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值