当前位置: 首页 > news >正文

选择网站建设合肥网络科技有限公司

选择网站建设,合肥网络科技有限公司,做网站的时候怎么把图片往左移,wordpress iis rewrite一、前言: 这是怀化学院的:Java数据结构中的一道难度中等的一道编程题(此方法为博主自己研究,问题基本解决,若有bug欢迎下方评论提出意见,我会第一时间改进代码,谢谢!) 后面其他编程题只要我写完…

一、前言:

  这是怀化学院的:Java数据结构中的一道难度中等的一道编程题(此方法为博主自己研究,问题基本解决,若有bug欢迎下方评论提出意见,我会第一时间改进代码,谢谢!) 后面其他编程题只要我写完,并成功实现,会陆续更新,记得三连哈哈! 所有答案供参考,不是标准答案,是博主自己研究的写法。(这一个题书上也有现成的代码,重要的是理解它的算法原理!)

二、题目要求如下:

(第 1 题) 哈希查找(难度系数75)

哈希查找
标准输入输出
题目描述:
实现哈希查找。要求根据给定的哈希函数进行存储,并查找相应元素的存储位置。本题目使用的哈希函数为除留取余法,即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

三、代码实现: (代码的做题原理全部在代码注释中,若还有疑问也可以翻书关于哈希查找的内容) 

补充:建议写这到题的同志一定要去了解Java《数据结构》书中的哈希表、哈希函数、以及哈希冲突等等东西,不然会有点找不着头脑的感觉!

(1)全部放在一个Main类里面去实现该题的所有要求:

package com.fs.search01;import java.util.Scanner;public class HashTable {public static void main(String[] args) {Scanner sc =new Scanner(System.in);int k =sc.nextInt();  //需要测试的总次数while (k>0){int m=sc.nextInt(); //本次测试的元素个数int []data = new int[m];int []hashtable = new int[m];  //存算出来的每个数字对于的哈希函数值:依次放入哈希表里的for(int i=0;i<m;i++){data[i]=sc.nextInt();//输入各个元素//题目要求采用的是哈希函数是取余法int num=0;  //这个作用是解决产生的哈希冲突//首先用题目中给的哈希函数:除留取余法( H(key)=key%m )来计算每个数的哈希函数值//但是要解决哈希冲突的问题,就要加一个值// 此处就是解决哈希冲突(采用开放定址法中的线性探测再散列,即Hi=(H(key)+i)/%m,0<=i<=m-1)while(hashtable[(data[i]+num)%m]!=0){  //这里的作用就是:判断当前数算出的哈希值所处的位置:在原有的哈希表里是否已经存放了:其它与它相等哈希值的数,等于0就是代表哈希表当前位置还是初始化的0值num++;}//如果前面while满足,那就是要换哈希表里的其他位置,就要加一个1再取余去算是否在哈希表中还有元素占用了位置,若没有就直接放进哈希表对应的位置hashtable[(data[i]+num)%m]=data[i];}int value=sc.nextInt();  //输入要查的数的值//打印哈希表里从下标0开始的所有元素,和记录它要查的值与哈希表的相等的时候的下标int index = 0;for(int j=0;j<m;j++){System.out.print(hashtable[j]+" ");if(hashtable[j]==value){index=j;  //找到要查找的元素下标}}System.out.println();System.out.print(index);k--;}}
}

 四、不同情况的代码测试运行结果:

<1>首先是题目中的测试输入样例:(最好手打输入测试,直接复制可能格式问题导致报错!)

<2>其他测试:

http://www.mfbz.cn/news/524/

相关文章:

  • php做自己的网站地推团队如何收费
  • 湖北企业网站建设多少钱广州现在有什么病毒感染
  • 北京网站建设价格企业网站建设cms
  • 企石做网站网络营销公司热线电话
  • 可以充值的网站怎么建设2022年明星百度指数排行
  • 网站开发可能遇到的问题网络营销到底是个啥
  • 做菠菜网站判多久2023最近的新闻大事10条
  • 装修去哪找靠谱的设计师十堰seo
  • 个人网站制作毕业设计选题重难点品牌营销公司
  • 网站建设公司怎么找客户b站2020推广网站
  • 中国疫情最新消息风险区网站优化技巧
  • 成都网站制作龙兵科技seo网站优化服务合同
  • 安徽网站建设详细教程steam交易链接在哪复制
  • 免费软件漫画汕头网站排名优化
  • 网站服务器自己做宁波专业seo服务
  • 日主题 wordpress宁波seo外包服务
  • 网购哪个网站质量好又便宜网络舆情监测专业
  • wordpress md风格主题seo专员是什么职业
  • 营销策划方案书建站优化推广
  • 个人网站怎么推广推广软件一键发送
  • 邵阳 做网站公司seo流量是什么意思
  • CP网站建设搭建需要多少钱国外独立站网站
  • 广西医疗网站建设自己怎么优化网站
  • 媒体这些渠道进行采集的是关键词优化百家号
  • 做网站怎么入账百度广告代理
  • 企业设计网站公司品牌推广方案策划书
  • 做网站底色怎么选爱站网挖掘工具
  • 网站权重0app地推接单平台有哪些
  • 最好的做网站公司网站推广优化网址
  • 济阳县做网站公司手机百度下载app