排序算法
liusarazhang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法之冒泡排序(递归版与非递归版)
public class bubbleSort { /* * 冒泡排序的时间复杂度为:O(N*N) * 一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。这里程序在运行时只用了两个循环变量,所以空间复杂度为O(1) */ public static void main(String []args){ //创建一个数组用于排序 int[]原创 2016-10-09 14:48:29 · 4814 阅读 · 0 评论 -
选择排序(递归版与非递归版)
package selectionSort;public class selectionSort { /* * 递归排序的时间复杂度O(n*n),空间复杂度O(1) */ public static void main(String[]args){ //创建一个数组用于排序 int[]array={1,4,3,2,6,12,10}; //递归的选择原创 2016-10-10 12:04:59 · 1414 阅读 · 0 评论 -
插入排序
public class insertionSort { /* * 插入排序的时间复杂度为O(n*n),空间复杂度为O(1) * 插入排序只适用于将待插入数据插入到已经排好序的数据中,并且适合数据量比较小的数据 */ public static void main(String[]args){ //声明长度为10的数组,但是第10个元素不是我们的元素,是原创 2016-10-10 13:18:52 · 188 阅读 · 0 评论 -
希尔排序
public class shellSort { /* * 希尔排序的时间复杂度好的情况下为O(n),坏的情况下O(n*n)空间复杂度为O(1) * */ public static void main(String[] args) { //创建一个数组用于排序 int[]array={1,4,3,2,6,12,10};原创 2016-10-10 14:58:33 · 387 阅读 · 0 评论 -
归并排序
public class mergeSort { /* * 归并排序的时间复杂度为O(nlogn),空间复杂度O(1) */ public static void main(String[] args) { // TODO Auto-generated method stub //创建一个数组用于排序 int[]arr原创 2016-10-10 16:15:27 · 201 阅读 · 0 评论 -
基数排序
这个代码只是单纯为了理解归并排序,所以排序中使用的“桶”操作可能有点冗余,仅作参考import java.util.ArrayList; import java.util.Iterator; import java.util.List;public class radixSort { /* * 基数排序的时间复杂度为:O(d(r+n)),空间复杂度为:O(rd+n),其中r代表关键字原创 2016-10-11 13:23:21 · 286 阅读 · 0 评论 -
数据流中的中位数
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Ite原创 2016-11-01 16:23:15 · 473 阅读 · 0 评论 -
快排
快速排序package quickSort;public class quickSort { /* *快排最优情况下(数组被平分的时候)的时间复杂度为:O(nlogn),最差情况下(退化为冒泡排序)的时间复杂度为:O(n^2),平均时间复杂度为O(nlogn) *空间复杂度为:O(logn)~O(n) */ public static void main(Str原创 2016-10-10 10:39:26 · 432 阅读 · 0 评论 -
排序算法的稳定性
排序算法的稳定性是指序列在排序后是否能保持相对的位置顺序,如序列(2,1,1),用快速排序算法后,我们将key=2,然后从右边开始进行选择比key小的值,即下标为2的1,然后进行交换,交换后的序列为(1,1,2),这样下标为2的1就跑到下标为1的1前面去了,这样的话就导致了他俩的相对位置发生了变化,像这样的排序算法就是不稳定的,排序算法中,稳定性稳定的算法有:冒泡排序,选择排序,插入排序,不稳定的原创 2016-10-10 12:12:52 · 389 阅读 · 0 评论
分享