还有好多其他排序而且每种排序都有优化,之后会不断添加.
/**
* 文件名:SortTest.java
* 时间:2014年11月5日下午6:05:13
* 作者:修维康
*/
package chapter7;
import java.util.Arrays;
/**
* 类名:SortTest 说明:各类排序分析详解
*/
public class SortTest {
...
分类:
编程语言 时间:
2014-11-06 23:40:39
阅读次数:
500
public class Bubble { public static void main(String[] args) { // TODO Auto-generated method stub String initial = "1492586"; ...
分类:
编程语言 时间:
2014-11-06 19:32:40
阅读次数:
224
冒泡排序,选择排序等是我们经常用到的排序方法,这里写上自己实现的算法代码,希望对大家有所帮助。...
分类:
编程语言 时间:
2014-11-06 17:46:01
阅读次数:
153
首先通过图表比较不同排序算法的时间复杂度和稳定性。排序方法平均时间最坏情况最好情况辅助空间稳定性直接插入排序O(n2)O(n2)O(n)O(1)是冒泡排序O(n2)O(n2)O(n)O(1)是简单选择排序O(n2)O(n2)O(n2)O(1)是希尔排序-O(nlog2n)~O(n2)O(nlog2n...
分类:
编程语言 时间:
2014-11-06 14:38:58
阅读次数:
305
什么是快速排序
快速排序可以说是对冒泡排序的一种改进,通过选择某个基准点经过一次排序,然后把数据通过基准点分为两个部分。一部分小于基准点;一部分大于基准点;
实现过程
设要排序的数据存放在数组A[0]...A[N-1]中,然后从数组总任意选择一个数据作为基准点,将所有比基准点小的数据放到它的前面,比它小的放到它的后面,这样经过一次交换就分成了两个独立的部分。接着在运用分治的思想...
分类:
编程语言 时间:
2014-11-05 23:16:01
阅读次数:
250
前几天实现了直接插入排序、冒泡排序和直接选择排序这三个基础排序。今天看了一下冒泡排序的改进算法,快速排序。单独记录一下,后面还有归并和基数排序等快速排序1.选择一个支点默认为数组第一个元素及array[start]作为支点,将所有大于支点元素的值放到支点后面,将所有小于支点元素的值放到支点前面,完成...
分类:
编程语言 时间:
2014-11-05 22:58:49
阅读次数:
345
思路:对一个n位数组,第一位和第二位比较,大的放后面,第二位和第三位比较,大的放后面,依次,,,,,,。到最后一位此时,最大的已经放到最后了,再用上面的方法比较前n-1位。#include "stdafx.h"#include #include #include using namespace st...
分类:
编程语言 时间:
2014-11-05 16:39:07
阅读次数:
187
排序算法比较常见的有:冒泡排序、简单选择排序、直接插入排序;希尔排序、堆排序、归并排序和快速排序算法等。今天先学习一下前面三种比较简单的算法。排序的相关概念:
①排序的稳定性:两个或多个元素相等,排序过后仍然是原来的顺序则为稳定排序。
②内部排序:排序过程都在内存中进行;外部排序:需要对外存进行访问的排序过程。
③内排序算法性能因素:1、时间性能,比较与移动;2、辅助空间;3、算法复杂性
...
分类:
编程语言 时间:
2014-11-05 10:59:35
阅读次数:
228
排序算法总是分不清,借了本数据结构来专门看了一下说一下分类,主要有五类,插入排序,交换排序,选择排序,基数排序和归并排序今天中午看了一下插入排序中的直接插入排序,交换排序的冒泡排序,选择排序中的冒泡排序1.插入排序将数组分成两个部分,一个是有序,一个是无序。将无序的每个元素插入到有序中,一共需要n ...
分类:
编程语言 时间:
2014-11-04 19:34:42
阅读次数:
336