查找与排序
hang__19
这个作者很懒,什么都没留下…
展开
-
数据结构实验之查找四:二分查找
题目描述在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。输入一组输入数据,输入数据第一行首先输入两个正整数n ( n 随后m行输入m个待查找的关键字key输出若在给定的序列中能够找到与关键字key相等的元素,则输出位序(序号从0开始),否则输出-1。示例输入8原创 2016-08-22 18:56:21 · 425 阅读 · 0 评论 -
数据结构实验之排序六:希尔排序
题目描述我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你的任务是对于给定的数据进行希尔排序,其中增量dk=n/(2^k)(k=1,2,3……)输入连续输入多组数据,每组输入数据原创 2016-08-24 21:04:36 · 540 阅读 · 0 评论 -
数据结构实验之排序五:归并求逆序数
题目描述对于数列a1,a2,a3…中的任意两个数ai,aj (i < j),如果ai > aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列 1 6 3 7 2 4 9中,(6,4)是一个逆序对,同样还有(3,2),(7,4),(6,2),(6,3)等等,你的任务是对给定的数列求出数列的逆序数。输入输入数据N(N原创 2016-08-24 21:02:37 · 328 阅读 · 0 评论 -
数据结构实验之排序四:寻找大富翁
题目描述2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。输入首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其中N为总人数,M为需要找出的大富翁数目,接下来给出N个人的个人资产,以万元为单位,个人资产数字为正整数,数字间以空格分隔。输出原创 2016-08-24 21:00:34 · 284 阅读 · 0 评论 -
数据结构实验之排序一:一趟快排
题目描述给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。 输入连续输入多组数据,每组输入数据第一行给出正整数N(N 输出输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。示例输入849 38 65 97 76 13 27 49示例输出27 3原创 2016-08-24 20:48:08 · 435 阅读 · 0 评论 -
找女朋友
题目描述山东理工大学有很多学生,当然也有很多美女,机械实验班的学委(外号:大王八)很想找个女朋友,但他想找个身高和自己相配的女生坐女朋友,现有理工大N个美女的身高数据,但由于N的值较大,为了尽快找到合适的女友,大王八想请你帮他完成这N个美女的身高排序,按降序排列。输入输入包括两行,第一行是一个正整数N(N输出输出只有一行,为这N个数的降序序列,数与数之间用空原创 2016-08-24 20:43:56 · 478 阅读 · 0 评论 -
数据结构实验之查找七:线性之哈希表
题目描述根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。输入连续输入多组数据,每组输入数据第一行为两个正整数N(N = N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。原创 2016-08-24 20:42:19 · 372 阅读 · 0 评论 -
数据结构实验之查找五:平方之哈希表
题目描述给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,...,m-1输入输入一组测试数据,数据的第1行给出两个正整数N(N = 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重原创 2016-08-24 20:39:22 · 315 阅读 · 0 评论 -
查找练习 hash——出现过的数字
题目描述有一个数据字典,里面存有n个数字(n 输入 输入数据只有一组!第一行包含两个整数n m,分别代表字典中数字的个数和要查询的数字的个数。接着n行代表字典中的n个数字。最后m表示要查询的数字。输出 如果某个数字存在,则输出YES,否则输出NO 示例输入5 3123455410原创 2016-08-24 20:35:59 · 309 阅读 · 0 评论 -
交叉排序
题目描述输入N个数,把所有奇数位置上的数从小到大排序,把偶数位置上的数从大到小排序。输入输入的第一行是一个正整数N(2第二行是N个用空格隔开的整数。输出输出只有一行N个数,是按要求排序后的序列,用空格隔开。示例输入61 2 3 4 5 6示例输出1 6 3 4 5 2提示#incl原创 2016-08-22 19:19:09 · 316 阅读 · 0 评论 -
数据结构实验之排序三:bucket sort
题目描述根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于100岁的老人全部按100岁计算。输入 输入第一行给出一个正整数N(输出 按年龄递增的顺序输出每个年龄的人口数,人口数为0的不输出,每个年龄占一行,数字间以一个空格分原创 2016-08-22 19:15:58 · 262 阅读 · 0 评论 -
数据结构实验之排序二:交换排序
题目描述冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。输入连续多组输入数据,每组数据第一行给出正整数N(N ≤ 10^5),随后给出N个整数,数字间以空格分隔。输出输出数据占一行,代表冒泡排序和快速排序进行排序分别需原创 2016-08-22 19:13:17 · 378 阅读 · 0 评论 -
数据结构上机实验之顺序查找
题目描述 在一个的序列里,查找元素是否存在,若存在输出YES,不存在输出NO.输入 本题多组数据,首先输入一个数字n,然后输入n(n输出 若存在输出YES,不存在输出NO.示例输入41 3 5 83示例输出YES提示#include #include int a[10原创 2016-08-22 19:08:51 · 333 阅读 · 0 评论 -
数据结构实验之查找六:顺序查找
题目描述在一个给定的无序序列里,查找与给定关键字相同的元素,若存在则输出找到的元素在序列中的位序和需要进行的比较次数,不存在则输出"No",序列位序从1到n,要求查找从最后一个元素开始,序列中无重复元素。输入连续多组数据输入,每组输入数据第一行首先输入两个整数n(n 输出若存在则输出元素在序列中的位序和比较次数,不存在则输出No。原创 2016-08-22 19:07:36 · 2660 阅读 · 0 评论 -
数据结构上机实验之二分查找
题目描述 在一个递增的序列里,查找元素是否存在,若存在输出YES,不存在输出NO.输入 本题多组数据,首先输入一个数字n(n>=100000),然后输入n个数,数据保证数列递增,然后再输入一个查找数字。输出 若存在输出YES,不存在输出NO.示例输入41 3 5 83示例输出YES提示#原创 2016-08-22 19:02:43 · 380 阅读 · 0 评论 -
数据结构实验之排序七:选课名单
题目描述随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。输入输入第一行给出两个正整数N( N ≤ 35000)和M(M ≤ 2000),其中N是全校学生总数,M是课程总数,随后给出N行,每行包括学生姓名拼音+学号后两位(字符串总长度小于10)、数字原创 2016-08-24 20:50:05 · 416 阅读 · 0 评论