转载自http://blog.csdn.net/qy1387/article/details/7752973 分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间 ...
分类:
编程语言 时间:
2017-09-23 21:21:38
阅读次数:
191
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序) 快速排序的伪代码: / /使用快速排序方法对a[ 0 :n- 1 ]排序 从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该 ...
分类:
编程语言 时间:
2017-09-23 20:13:09
阅读次数:
864
一.排序算法分类 1.插入排序法 直接插入排序,希尔排序(面试最常问) 2.交换排序 冒泡排序,快速排序(面试最常问) 3.选择排序 直接选择排序,堆排序(面试最常问) 4.归并排序 归并排序 5.基数排序 以上算是最常用的一些算法。 二.空间、时间复杂度、稳定性 三.性能分析 1.O(n^2)性能 ...
分类:
编程语言 时间:
2017-09-21 21:17:16
阅读次数:
226
快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的),一般选择序列的第一个元素。 转载:http://www.cnblogs.com/hjy9420/p/5032309.html ...
分类:
编程语言 时间:
2017-09-19 20:21:39
阅读次数:
239
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想 分治法也确实实用,因此很多软件公司的笔试面试喜欢考这个。 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-Co ...
分类:
编程语言 时间:
2017-09-18 13:21:02
阅读次数:
201
我们平时说的“排序”,指的是内部排序,即使用内存资源进行排序的。除了内部排序之外,还有外部排序。本文主要介绍内部排序。 内部排序分为插入排序、选择排序、交换排序、归并排序等。其中,插入排序又分为直接插入排序和希尔排序;选择排序分为简单选择排序和堆排序;交换排序又分为冒泡排序和快速排序。 也就是说,本 ...
分类:
编程语言 时间:
2017-09-10 19:02:35
阅读次数:
208
交换法:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 简单选择排序:的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2 ...
分类:
编程语言 时间:
2017-09-07 17:01:30
阅读次数:
120
分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 1、冒泡算法(bubble)- -属 ...
分类:
编程语言 时间:
2017-09-05 13:31:16
阅读次数:
210
5-1- 数组 数组 → 能存放任意多个同类型的数据 数组的索引(下标)是一个int类型的数字索引(下标)是从0开始,依次为数组中每一个数组项编号 数组的代码书写 数组的声明与赋值 声明:数据类型 [] 变量名; → 数据类型就是数组项的类型 赋值:变量名 = new 数据类型 [长度]; → 长度 ...
分类:
编程语言 时间:
2017-09-03 19:33:04
阅读次数:
222
一、快速排序介绍 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 算法思想:1.先从数组中取出一个数组作为枢轴,一般情况下选取数组的第一个或者最后一个元素作为枢轴,当然可以选取其他的, ...
分类:
编程语言 时间:
2017-08-31 21:07:27
阅读次数:
150