排序
WY5421
这个作者很懒,什么都没留下…
展开
-
选择排序—堆排序(Heap Sort)
什么是排序算法稳定性?假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的。大根堆和小根堆 堆的结构可以分为大根堆和小根堆,是一个完全二叉树,而堆排序是根据堆的这种数据结构设计的一种排序,下面先来看看什么是大根堆和小根堆 性质:每个结点的值都大于其左孩子和右孩子结点的值,称之为大根堆;每个结点...原创 2020-05-10 17:05:54 · 259 阅读 · 1 评论 -
hash---出现过的数字
查找练习 hash——出现过的数字Time Limit: 1000MS Memory limit: 65536K题目描述有一个数据字典,里面存有n个数字(n 输入 输入数据只有一组!第一行包含两个整数n m,分别代表字典中数字的个数和要查询的数字的个数。接着n行代表字典中的n个数字。最后m表示要查询的数字。原创 2016-08-24 11:10:56 · 323 阅读 · 0 评论 -
希尔排序
数据结构实验之排序六:希尔排序Time Limit: 1000MS Memory limit: 65536K题目描述我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你原创 2016-08-24 14:54:52 · 276 阅读 · 0 评论 -
数据结构实验之排序七:选课名单
数据结构实验之排序七:选课名单Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。Input转载 2016-12-08 11:39:34 · 820 阅读 · 0 评论 -
数据结构实验之排序五:归并求逆序数
数据结构实验之排序五:归并求逆序数Time Limit: 20MS Memory limit: 65536K题目描述对于数列a1,a2,a3…中的任意两个数ai,aj (i < j),如果ai > aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列 1 6 3 7 2 4 9中,(6,4)是一个逆序对,同样还原创 2016-08-25 10:47:19 · 349 阅读 · 0 评论 -
排序算法系列:插入排序算法(InsertionSort)
插入排序原理很简单,讲一组数据分成两组,我分别将其称为有序组与待插入组。每次从待插入组中取出一个元素,与有序组的元素进行比较,并找到合适的位置,将该元素插到有序组当中。就这样,每次插入一个元素,有序组增加,待插入组减少。直到待插入组元素个数为0。当然,插入过程中涉及到了元素的移动。 为了排序方便,我们一般将数据第一个元素视为有序组,其他均为待插入组。 下面以升序为例进行一次图解:...转载 2018-08-24 21:15:51 · 406 阅读 · 0 评论 -
冒泡排序算法及其优化(BubbleSort)
冒泡排序算是排序算法里面的一种较为简单的算法,也是我接触的第一种排序算法,有升序与降序之分,如果面试的时候面试官问道这个题目,一定要问清楚是升序还是降序,这样会给你加分。下面,我以升序来讲一下它的运作。 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 ...转载 2018-08-24 21:28:01 · 390 阅读 · 0 评论 -
数据结构实验之排序八:快速排序(QuickSort)
Problem Description给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。 Input 连续输入多组数据,每组输入数据第一行给出正整数N(≤10^5),随后给出N个整数,数字间以空格分隔。Output 输出排序后的结果,数字间以一个空格间隔,行末不得有多余空格。Sample Input849 38 65 97 76...原创 2018-08-24 22:04:00 · 1124 阅读 · 0 评论