快速排序也是根据分治策略设计的一种高效率的分类算法。首先回顾下分类算法的分类思想:它从待分类序列S中随机取出一个元素x,并把S分成三个子序列S1,S2和S3,分别是S中小于,等于和大于x的元素序列,而后对S1和S2递归使用本算法,就可以得到排好序的序列。实际操作中通常不分出序列S2,而是直接把S2中...
分类:
编程语言 时间:
2015-03-15 18:13:03
阅读次数:
149
自10月初编写算法系列的博客以来,陆陆续续以来写了几十篇。按照计划,还有三个部分的内容没有介绍,主要是(Dijkstra算法、二叉平衡树、红黑树)。这部分会在后面的博客补充完整。这里主要是做一个总结,有兴趣的朋友可以好好看看,欢迎大家提出宝贵意见。 (1) 排序算法 快速排序 合并排序堆排序选...
分类:
编程语言 时间:
2015-03-15 18:07:09
阅读次数:
184
长度为n,分为n/k个小数组,每个长度为k问K取何值时能使效率最高易得O(n)=nk+nlg(n/k)nk是n/k个小数组进行插入排序k×k,得nknlg(n/k)是n/k个数组进行归并需要lg(n/k)次合并,每次代价为n的的答案应为lgnO(n)=nk+nlgn-nlgk若k>lgn,则前半部分...
分类:
编程语言 时间:
2015-03-13 18:29:10
阅读次数:
216
归并排序也是一种常用的排序算法, 其时间复杂度为O(n*logn), 它的基础是分治的思想。其基本思路就是把数组分成两组A,B, 如果这两组内的数据都是有序的, 那么就可以很方便的对这两组数据进行合并排序。但是如何让这两组数据有序呢? 归并法的思想就是把A,B两组各自再分成两组, 依次类推, 当分出...
分类:
编程语言 时间:
2015-03-13 01:40:04
阅读次数:
189
题目大意:给出一个数列,每次交换相邻数字,求排成递增序的最少交换次数。分析:求逆序数,合并排序#include#include#include#define maxn 5000010using namespace std;int a[maxn],tem[maxn],n;long long Sort(...
分类:
其他好文 时间:
2015-03-12 18:47:07
阅读次数:
105
快排是一种最常用的排序算法,因为其平均的时间复杂度是nlgn,并且其中的常数因子比较小。一.快速排序
快排和合并排序一样都是基于分治的排序算法;快排的分治如下:
分解:对区间A[p,r]进行分解,返回q,使得A[p–q-1]都不大于A[q] A[q+1,r]都大于A[q];
求解:对上面得到的区间继续递归进行快排
合并:因为快排是原地...
分类:
编程语言 时间:
2015-03-12 01:03:22
阅读次数:
2694
自荐者和推荐者请留言
基本算法
贪心算法:贪心算法 作者:独酌逸醉
贪心算法精讲 作者:3522021224
递归和分治:递归与分治策略 作者:zhoudaxia
图论
图的遍历(DFS和BFS): 图的遍历 作者:jefferent
最小生成树(Prim算法和Kruskal算法): 贪心算法--最小生成树 作者:独酌逸醉
Dij...
分类:
编程语言 时间:
2015-03-11 17:18:33
阅读次数:
185
最近准备花时间把算法导论详细的看一遍,强化一下算法和数据结构的基础,将一些总结性的东西写到博客上去。一.插入排序
算法思想:如果一个数组A,从A[1–n-1]都是有序的,然后我们将A[n]插入到A[1–n-1]的某个合适的位置上去那么就可以保证A[1–n]都是有序的。这就是插入排序的思想;具体实现的时候我们将数组的第一个元素看出有序,然后从第二个元素开始按照上面的步骤进行插入操作,直到插入...
分类:
编程语言 时间:
2015-03-06 23:41:27
阅读次数:
369
递归与分治策略(一)
简而言之,递归就是自己调用自己。
递归算法:直接或者间接地调用自身的算法。
递归函数:用函数自身给出定义的函数。
注意:每个递归函数都必须有非递归定义的初始值,以确保递归函数完成计算。
下面通过两个例子来介绍递归的特点
例1 阶乘函数
阶乘函数递归地定义为:
n!=1 (n=0)
或者
n!=n(n-1)! (n>0)
下面用一段简单的...
分类:
编程语言 时间:
2015-03-02 14:58:09
阅读次数:
171
一、快速排序的描述快速排序是基于分治策略的。对一个子数组A[p…r]快速排序的分治过程的三个步骤为:1、分解数组A[p…r]被划分成两个(可能空)子数组A[p…q-1]和A[q+1…r],使得A[p…q-1]中的每个元素都小于等于A[q],且小于等于A[q+1…r]中的元素。下标q也在这个划分过程中...
分类:
编程语言 时间:
2015-02-16 23:21:18
阅读次数:
338