![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SDUT 《数据结构与算法》查找
查找
sdut_you
这个作者很懒,什么都没留下…
展开
-
SDUT L - 土拨鼠掷鼬鼠(二分查找)
Description神奇的土拨鼠今天又很乖的皮的玩起了鼬鼠,今天依旧是掷鼬鼠。土拨鼠忘记了自己家周围有着 n 圈的着火带。已知距离土拨鼠 r[i] (1⩽i⩽n) 的位置处有一圈着火地带。现在土拨鼠有 m次投掷,告诉你它投掷的距离 L[i] (1⩽i⩽m),问你当前投掷的鼬鼠会不会解脱 gg 掉,也就是落在着火地带上(当前仅当 L[i] == r[j] (1⩽j⩽n) 时,我们认为鼬鼠落在了着火带上)。Input第一行是以空格分隔的两个整数 n, m。n 表示着火带的圈数,m 表示投掷的次数。接原创 2020-12-08 18:33:00 · 306 阅读 · 0 评论 -
SDUT K - TimesIsMoney(map+桶排序)
Description给你一个序列,有N个整数(int以内),判断一个数在这个序列中出现几次。Input多组输入,输入到文件结尾首先输入一个n,然后输入n个整数。在输入一个m,代表查询的个数 ,然后输入m个数(int以内)。n,m <= 100000;Output对应每一次查询,输出这个数在序列中出现几次。SampleInput51 2 2 3 532 4 5Output201#include <bits/stdc++.h>using names原创 2020-12-08 18:06:31 · 270 阅读 · 0 评论 -
SDUT J - 数据结构实验:哈希表(1.哈希 2.map+桶排序(数据量弱,可以卡过去))
Description在n个数中,找出出现次数最多那个数字,并且输出出现的次数。如果有多个结果,输出数字最小的那一个。Input单组数据,第一行数字n(1<=n<=100000)。接下来有n个数字,每个数字不超过100000000Output出现次数最多的数字和次数。SampleInput31 1 2Output1 2#include <bits/stdc++.h>using namespace std;int main(){ int a[原创 2020-12-08 16:54:58 · 260 阅读 · 0 评论 -
SDUT I - 查找练习 hash——出现过的数字(桶排序)
Description有一个数据字典,里面存有n个数字(n<=100000),小明现在接到一个任务,这项任务看起来非常简单——给定m个数字,分别查询这m个数字是否出现在字典之中;但是考虑到数据量的问题,小明找到了善于编程的你,希望你可以帮他解决这个问题。Input输入数据只有一组!第一行包含两个整数n m,分别代表字典中数字的个数和要查询的数字的个数。接着n行代表字典中的n个数字。最后m表示要查询的数字。Output如果某个数字存在,则输出YES,否则输出NOSampleInput原创 2020-12-08 16:53:39 · 193 阅读 · 0 评论 -
SDUT H - 二分练习
Description给你一个序列,然后给你m个元素,让你从序列中找出与每个元素最接近的数字输出来,如果有两个就输出两个。Input多组输入,第一行给你两个数n(0 < n < 10000000),m(0 < m < n),接下来是数列的n个数,然后再输入m个元素,让你找出最接近每个元素的值。如果有两个,按从小到大输出。Output这m个数分别输出最接近每个元素的值,组与组之间输出一个空行。SampleInput8 41 2 3 4 5 6 8 114927原创 2020-12-08 16:51:44 · 299 阅读 · 0 评论 -
SDUT G - 数据结构实验之查找七:线性之哈希表
Description根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。Input连续输入多组数据,每组输入数据第一行为两个正整数N(N <= 1500)和p(p >= N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。Output输出每个关键字在hash表中的位置,以空格间隔。注意最后一个数字后面不要有空原创 2020-12-08 16:50:06 · 234 阅读 · 0 评论 -
SDUT F - 数据结构实验之查找六:顺序查找(暴力)
Description在一个给定的无序序列里,查找与给定关键字相同的元素,若存在则输出找到的元素在序列中的位序和需要进行的比较次数,不存在则输出"No",序列位序从1到n,要求查找从最后一个元素开始,序列中无重复元素。Input连续多组数据输入,每组输入数据第一行首先输入两个整数 n (n <= 10^6) 和 k (1 <= k <= 10^7),n是数组长度,k是待查找的关键字,然后连续输入n个整数 ai (1 <= ai <= 10^7),数据间以空格间隔。Out原创 2020-12-08 16:48:19 · 197 阅读 · 0 评论 -
SDUT E - 数据结构实验之查找五:平方之哈希表
Description给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,…,m-1Input输入包含多组测试数据,到 EOF 结束。每组数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整数,数据之间用空格间隔。Output按输入数原创 2020-12-08 16:46:16 · 224 阅读 · 0 评论 -
SDUT D - 数据结构实验之查找四:二分查找
Description在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。Input一组输入数据,输入数据第一行首先输入两个正整数n ( n < = 10^6 )和m ( m < = 10^4 ),n是数组中数据元素个数,随后连续输入n个正整数,输入的数据保证数列递增。随后m行输入m个待查找的关键字keyOutput若在给定的序列中能够找到与关键字key相等的元素,则输出位序(序号从0开始),否则输出-1。SampleInput原创 2020-12-08 16:44:16 · 559 阅读 · 0 评论 -
SDUT A - 数据结构实验之查找一:二叉排序树
Description对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。Input输入包含若干组测试数据。每组数据的第1行给出两个正整数N (n < = 10)和L,分别是输入序列的元素个数和需要比较的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列生成一颗二叉排序树。随后L行,每原创 2020-12-08 16:41:48 · 231 阅读 · 0 评论