排序
Fly_TheWind
这个作者很懒,什么都没留下…
展开
-
各种排序算法的时间和空间复杂度
排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) 稳定 O(1) n小时较好 交换 O(n2) O(n2) 不稳定 O(1) n小时较好 选择 O(n2) O(n2) 不稳定 O(1) n小时较好转载 2016-06-02 13:11:43 · 1921 阅读 · 0 评论 -
归并排序
想把基础排序都自己写一下。归并排序如下 package com.acm.algorihm; import java.util.Arrays; public class MergeSort { public static void main(String args[]) { int[] a = { 3, 1, 59, 45, 17, 156, 145, 256, 0,原创 2016-08-25 19:29:00 · 358 阅读 · 0 评论 -
稳定排序与不稳定排序
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相转载 2016-08-14 10:43:28 · 433 阅读 · 0 评论 -
java 快速排序
package sort; import java.util.Arrays; public class Quick { public static void sort(int [] a) { // 可以先shuffle数组,避免出现最坏的复杂度(n^2)/2,使排序时间可以得到估计 sort(a, 0, a.length - 1); } private static void ...原创 2019-06-26 10:37:02 · 138 阅读 · 0 评论