随笔分类 - 排序算法
摘要:1.以上为计数排序的基本原理和简单实现,其时间复杂度为:o(m+n),但如果待排序的元素范围为90-99,那么用这种方法就会浪费内存和时间(前90号没用到),所以会有优化的方案。 2.如果出现几个元素大小相同时,要求按照原来固有的顺序排序(比如学生的成绩,甲和乙成绩相同,但得按原来给定的顺序:甲先乙
阅读全文
摘要:#include <iostream> #include <cstdio> #include <ctime> #include <cstdlib> using namespace std; //快速排序 /* 原理:取基准,比基准数小的放在左边,比基准数大的放在右边,递归 另外,关于下文中提出的几个
阅读全文
摘要:#include <iostream> #include <cstdio> using namespace std; //归并排序 /* 原理:分而治之,然后合之。 一分为二,然后从两个数组中头部依次拿出较小的值放入辅助数组中,从而达到排序的目的。 */ int a[9]={0,1,54,77,24
阅读全文
摘要:#include <iostream> #include <cstdio> using namespace std; //插入排序 /*原理:像打扑克时整理手牌所做的事一样 在原来数组的基础上,以第一张手牌(认为已经排好序)为初始,依次插入后面的元素 */ int a[9]={0,1,54,77,2
阅读全文
摘要:#include <iostream> #include <cstdio> using namespace std; //选组排序 /*原理:求出第1位(包含)以后的最小值,然后把他放到第1位 求出第2位(包含)以后的最小值,然后把他放到第2位 以此类推执行下去 */ int a[9]={0,1,5
阅读全文

浙公网安备 33010602011771号