各种排序
文章平均质量分 56
lee371042
陌上人如玉,君子世无双
展开
-
c语言排序之桶排序
桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。假定:输入是由一个随机过程产生的[原创 2018-01-18 19:35:45 · 1107 阅读 · 0 评论 -
排序之sort排序
C++的STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件<algorithm>这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b),即sort(数组+a,数组+b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只...原创 2017-11-24 00:14:34 · 2154 阅读 · 1 评论 -
排序之选择排序法
/*选择排序法*/所谓的选择是什么意思呢,选择就是于万千花丛中择其一,在选择排序法中说的就是,每一次循环过程中,通过比较选择出你需要的**最值**。选择排序法的过程是,通**过比较,选择出每一轮中最值元素,然后把他和这一轮中最最前面的元素交换**,所以这个算法关键是要记录每次比较的结果,即每次比较后最值位置先来看看选择排序的过程:数组排序前 7 23 12 4 33 ...原创 2017-11-24 01:15:02 · 299 阅读 · 0 评论 -
冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。#include<stdio.h>int main(){ int t; scanf("%d",&t); while(...原创 2017-11-18 09:35:17 · 771 阅读 · 0 评论 -
2018HDU多校联赛第二场
题目衔接:http://acm.hdu.edu.cn/showproblem.php?pid=6318Swaps and InversionsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 656 Accepted Subm...原创 2018-07-26 10:35:26 · 293 阅读 · 0 评论 -
nyoj-117-求逆序数
求逆序数时间限制:2000 ms | 内存限制:65535 KB难度:5描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆序数就是1。输入第一行输入一个整数T表示测试数据的组数(1<...原创 2018-07-26 16:56:28 · 244 阅读 · 0 评论 -
排序算法之归并算法
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并的基本思想是合并多路有序数组,通常我们考虑两路归并算法。 归并排序是稳定的,这是因为...原创 2018-07-26 17:04:20 · 2398 阅读 · 2 评论