Description在这个问题中,你需要分析一个对n个不同数排序的算法。该算法主要通过交换相邻数直到序列有序(升序)。比如:对输入序列
9 1 0 5 4经过一系列交换后变成有序序列 0 1 4 5
9你的任务是计算将序列变成有序最少需要经过多少次交换。Input输入包含多组测试数据。每组第一个是...
分类:
其他好文 时间:
2014-05-20 10:57:05
阅读次数:
296
一、合并已排序的两个数组,依次比较两个数组元素大小,并按大小加入到暂存数组B,最后保存到A:Algorithm: MERGE(A, p, q,
r)输入:数组A[p...q]和A[q+1...r],各自按升序排列输出:将A[p...q]和A[q+1...r]合并后的升序排序的新数组01. s←p;
...
分类:
其他好文 时间:
2014-05-10 02:43:47
阅读次数:
549
(一)插入排序
算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。
插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素...
分类:
其他好文 时间:
2014-05-09 22:38:41
阅读次数:
342
算法设计中经常会用到递归,利用递归式的方法可以清晰地显示算法的整个过程,而对于分析算法的复杂度,解递归式就有了用处,这里的方法来自于《算法导论》。
1. 代换法
代换法只能用于解那种很容易猜的情形,它可用来确定一个递归式的“O”和“Ω”界。
举例,确定递归式 T(n) = 2*T(└n/2┘) + n 的一个“O”界
1.1 先猜测有某个界存在
由于这个递归式与合并排序的计算...
分类:
其他好文 时间:
2014-05-07 16:07:15
阅读次数:
413
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
Description
Find a pair in an integer array that swapping them would maximally decrease the inversion count of the array. If such a pair exists, retur...
分类:
其他好文 时间:
2014-04-27 17:48:35
阅读次数:
508