交换排序主要包括冒泡排序和快速排序两种,其中快速排序是目前最常用、最快速的排序方法之一。
冒泡排序又称气泡排序,它是一种非常简单的排序方法。其基本过程是通过比较和交换将较小的元素逐渐浮向顶部,如同水底的气泡一样向上冒,这就是它名称的由来。气泡排序是稳定的。
气泡排序的思想是:首先从头向后扫描数据,在扫描过程中逐次比较相邻数据的大小。若前面的元素大于后面的元素,则将它们互换,在这个扫描完...
分类:
编程语言 时间:
2015-01-30 22:42:09
阅读次数:
188
1.排序的类public class BubbleSorter { static public void Sort(IList sortArray, Func comparison) { bool swapped = true; do { ...
分类:
编程语言 时间:
2015-01-30 14:30:03
阅读次数:
116
题意 :交换相邻的两个数来排序 最少交换几次思路:题意可以转化成求 数列中存在几个逆序数可以看作冒泡排序 但是复杂度过高 用归并排序来完成(注意 n#include#include#includeusing namespace std;int a[5000000+100];int t[5000000...
分类:
编程语言 时间:
2015-01-29 22:19:57
阅读次数:
173
package?org.rev.algorithm;
/**
?*?冒泡排序,复杂度O(n^2),具体如下:
?*?
?*?1.?比较相邻的元素。如果第一个比第二个大,就交换他们两个。
?*?
?*?2.?对每一对相邻元素作同样的工作,从开始第一...
分类:
编程语言 时间:
2015-01-29 17:56:10
阅读次数:
152
本次主要记录一些经典的排序算法,其中包括冒泡排序、直接选择排序、插入排序、归并排序、快速排序、堆排序、希尔排序、桶排序以及计数排序和基数排序。首先会给出这些排序算法的基本思想,然后给出实现的代码,最后会给出其时间复杂度。
1:冒泡排序
思想:
(1):比较相邻的前后两个元素,如果后面的数据小于前面的数据,则交换这两个数据的位置。这样经过一次遍历,最小的元素将在第0个位置,属于”冒泡”.
(...
分类:
编程语言 时间:
2015-01-29 17:39:27
阅读次数:
288
下面是常见排序算法的速度比较:(从慢到快)
1、冒泡排序O(N^2)
2、简单选择排序O(N^2)
3、直接插入排序O(N^2)
4、折半插入排序O(N^2)
5、希尔排序,近似为O(N^1.25) (尚无定论,但可以确定是N~N^2之间的多项式时间复杂度)
6、堆排序O(NlogN)
7、归并排序O(NlogN)
8、快速排序O(NlogN)
一般来说是快排最快的。但是...
分类:
编程语言 时间:
2015-01-29 09:34:09
阅读次数:
274
冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。
“冒泡排序”的原理是:每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数(即第5位)归位,第二趟只能将倒数第2位上的数(即第4位)归位,第三趟只能将倒数第3位上的数(即第3位)归位,依次。
总结一下:如果有n个数进行排序,只需将n-1个数归位,也就是说要进行n-1趟操作。而“每一趟”都需要...
分类:
编程语言 时间:
2015-01-27 16:21:14
阅读次数:
198
冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数...
分类:
编程语言 时间:
2015-01-26 15:05:47
阅读次数:
301
Sort a linked list inO(nlogn) time using constant space complexity.常见排序方法有很多,插入排序,选择排序,堆排序,快速排序,冒泡排序,归并排序,桶排序等等。。它们的时间复杂度不尽相同,而这里题目限定了时间必须为O(nlgn),符合要...
分类:
编程语言 时间:
2015-01-26 13:23:44
阅读次数:
194
Java中与数组相关的算法,常用的有:冒泡排序、选择排序、和反转排序。
【冒泡排序】
1. 基本思想
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有必要交换为止,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名之。
2. 算法
因此冒泡排序总的平均时间复杂度为 .
3. 算法实现...
分类:
编程语言 时间:
2015-01-26 00:07:50
阅读次数:
227