哈希查找(数据结构实训)

题目:

哈希查找
标准输入输出
题目描述:
实现哈希查找。要求根据给定的哈希函数进行存储,并查找相应元素的存储位置。本题目使用的哈希函数为除留取余法,即H(key)=key%m,其中m为存储空间,冲突处理方法采用开放定址法中的线性探测再散列,即Hi=(H(key)+i)/%m,0<=i<=m-1。
输入:
输入包含若干个测试用例,第一行为测试用例个数。每个测试用例占3行,第一个为元素个数m,第二行为m个元素值,即需要进行散列存储的元素个数,同时也是存储空间个数(空间位置从0开始存储),第三行为需要查找的元素。
输出:
对每一测试用例,分别用两行输出,第一行输出所有的元素,要求按存储地址从0开始输出,用空格隔开,第二行输出需要查找的元素在数组中的位置,即对应数组中的下标。

输入样例:
1
5
2 4 1 7 9
7

输出样例:
9 1 2 7 4
3

代码:

采用开放寻址法,线性探测

不理解开放寻址法的可以看一下我的博客:模拟散列表(哈希表的两种方法)

import java.util.Scanner;public class Xingyuxingxi {public static void main(String[] args){Scanner sc=new Scanner(System.in);int a= sc.nextInt();while(a--!=0) {int m = sc.nextInt();int[] c = new int[m];int[] g = new int[m];int n = 0;for (int i = 0; i < m; i++) {c[i] = sc.nextInt();int k = c[i] % m ;//注意是key%m即可while (g[k] != c[i] && g[k] != 0) {k++;if (k == m) k = 0;}g[k] = c[i];}int d = sc.nextInt();int xb=0;for (int i = 0; i <m; i++) {System.out.print(g[i] + " ");if (g[i] == d) {xb = i;}}System.out.println();System.out.println(xb);}}
}

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

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

相关文章

Android的文件切割和合并,补全wav文件头

示例&#xff1a; 1、普通文件的拆分与合并&#xff1a; private void testFile() {File mWavFile new File(getExternalFilesDir(null).getAbsolutePath() "/test.wav");if (!mWavFile.exists()){Log.d("caowj", "文件不存在&#xff1a;" …

多人聊天作业

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…

如何评估数据资产的价值?哪种方法更容易实现?

今年可以称之为数据年&#xff0c;从去年年底党中央发布《数据20条》&#xff0c;对数据领域的一系列的制度建设做了提纲起领的作用。在财经领域今年的下半年&#xff0c;密集出台一系列跟数据资产相关的政策&#xff0c;包括8月21日发布的《企业数据资源会计处理的暂行规定》以…

最小生成树算法与二分图算法

文章目录 概述 P r i m Prim Prim 算法 - 稠密图 - O ( n 2 ) O(n^2) O(n2)思路概述时间复杂度分析AcWing 858. Prim算法求最小生成树CODE K r u s k a l Kruskal Kruskal 算法 - 稀疏图 - O ( m l o g m ) O(mlogm) O(mlogm)思路解析时间复杂度分析AcWing 859. Kruskal算法求…

后端返回数据前端保留两位小数

一.背景 在平时工作中尤其是银行金融类佘涉及到数据计算问题&#xff0c;数据统计又不能显示太多小数点&#xff0c;很多时候需求不一样&#xff0c;对数据的精度要求也不一样&#xff0c;下面是我在工作中用到的方法总结记录一下。 二.不同需求对应的方法 toFixed() 方法 to…

探索HarmonyOS_开发软件安装

随着华为推出HarmonyOS NEXT 宣布将要全面启用鸿蒙原声应用&#xff0c;不在兼容安卓应用&#xff0c; 现在开始探索鸿蒙原生应用的开发。 HarmonyOS应用开发官网 - 华为HarmonyOS打造全场景新服务 鸿蒙官网 开发软件肯定要从这里下载 第一个为微软系统(windows)&#xff0c;第…

逆向修改Unity的安卓包资源并重新打包

在上一篇文章中,我已经讲过如何逆向获取unity打包出来的源代码和资源了,那么这一节我将介绍如何将解密出来的源代码进行修改并重新压缩到apk中。 其实在很多时候,我们不仅仅想要看Unity的源码,我们还要对他们的客户端源码进行修改和调整,比如替换资源,替换服务器连接地址…

MSSQL注入入门讲解:保护你的数据库免受攻击

MSSQL注入入门讲解&#xff1a;保护你的数据库免受攻击 引言&#xff1a; MSSQL注入是一种常见的网络攻击方式&#xff0c;通过利用应用程序对用户输入的不正确处理&#xff0c;攻击者可以执行恶意代码并获取敏感数据。本篇博客将详细介绍MSSQL注入的原理、常见的攻击技术以及…

【C/C++】函数参数默认值

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

深度学习实战64-黑白照片着色的模型应用,快速部署实现黑白图片快速上色的功能

大家好,我是微学AI,今天给大家介绍一下深度学习实战64-黑白照片着色的模型应用,快速部署实现黑白图片快速上色的功能。图片上色是一个具有多模态不确定性和高度不适定性的挑战性问题。直接训练深度神经网络通常会导致错误的语义颜色和低色彩丰富度。虽然基于Transformer的方…

人工智能AIGC培训讲师叶梓介绍及AI强化学习培训提纲

叶梓&#xff0c;上海交通大学计算机专业博士毕业&#xff0c;高级工程师。主研方向&#xff1a;数据挖掘、机器学习、人工智能。历任国内知名上市IT企业的AI技术总监、资深技术专家&#xff0c;市级行业大数据平台技术负责人。个人主页&#xff1a;大数据人工智能AI培训讲师叶…

9大高效的前端测试工具与框架!

在每个Web应用程序中&#xff0c;作为用户直接可见的应用程序外观&#xff0c;“前端”包括&#xff1a;图形化的用户界面、相应的功能、及其整体站点的可用性。我们可以毫不夸张地说&#xff1a;如果前端无法正常工作&#xff0c;您将无法“拉新”网站的潜在用户。这也正是我们…

Java8新特性CompletableFuture详解

一、概述 CompletableFuture 是Java 8 中引入的 Java Future API的扩展&#xff0c;用于 Java 中的异步编程&#xff0c;它可以使我们的任务运行在与主线程分离的其他线程中&#xff0c;并通过回调在主线程中得到异步任务执行状态&#xff0c;包括是否完成&#xff0c;是否异常…

【Node.js】如何修复“错误:错误:0308010c:digital envelope routines::不受支持”

作为一名开发人员&#xff0c;在项目中遇到错误是很常见的。在这篇博客文章中&#xff0c;我们将讨论一个困扰开发人员的特定错误&#xff0c;尤其是那些使用Node.js的开发人员。有问题的错误是“错误&#xff1a;错误&#xff1a;0308010c:数字信封例程&#xff1a;&#xff1…

MySQL:update set的坑

目录 一、问题描述 二、为何会出现这样的问题&#xff1f; 三、正确的方案 一、问题描述 我在修改mysql数据表时&#xff0c;看到下面的现象。 我表中原始数据如下&#xff1a; 执行了下面的修改&#xff0c;显示执行成功。 update user_function_record_entity set open_…

MySQL_1. mysql数据库介绍

shell脚本差不多快完结了接下来会为大家更新MySQL系列的相关的基础知识笔记&#xff0c;希望对大家有所帮助&#xff0c;好废话不多说&#xff0c;接下来开始正题&#xff01; 1.mysql数据库介绍 mysql 是一款安全、跨平台、高效的&#xff0c;并与 PHP、Java 等主流编程语言…

AI写作工具有哪些?原创我AI写作工具推荐

人工智能&#xff08;AI&#xff09;的广泛应用不仅改变了我们的工作方式&#xff0c;也对文学创作领域产生了深远的影响。其中&#xff0c;AI写作技术在提高工作效率和文章创作方面发挥着越来越重要的角色。然而&#xff0c;伴随着这一技术的兴起&#xff0c;一个备受关注的问…

机器学习实验五:集成学习

系列文章目录 机器学习实验一&#xff1a;线性回归机器学习实验二&#xff1a;决策树模型机器学习实验三&#xff1a;支持向量机模型机器学习实验四&#xff1a;贝叶斯分类器机器学习实验五&#xff1a;集成学习机器学习实验六&#xff1a;聚类 文章目录 系列文章目录一、实验…

Eureka的使用说明

Eureka是一个服务管理的平台&#xff0c;主要是管理多个模块之间的使用。eureka分为客户端和客户端&#xff0c;下面我们直接使用&#xff1a; 1.eureka server 服务管理的使用 1. 导入相关依赖 <dependency><groupId>org.springframework.cloud</groupId>…