
排序
Sandm_Wzm
这个作者很懒,什么都没留下…
展开
-
java排序--插入排序--直接插入排序和希尔排序解析
常见的排序有一下几种,下面我们来看一下插入排序: 插入排序分为两种,一种是直接插入排序,一种是希尔排序(也叫缩小增量排序),希尔排序是对直接插入排序的优化,下面我们先来看看直接插入排序。 直接插入排序: 直接插入排序的基本思想是 :在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部...原创 2019-04-28 21:05:26 · 332 阅读 · 0 评论 -
java排序--选择排序--直接选择排序和堆排序
先来看直接选择排序: 直接选择排序基本思想是:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 。 直接选择排序特性: 1丶时间复杂度:O(N^2) 2丶空间复杂度:O(1) 3丶稳定性:不稳定 下面是代码实现: public static void selectSort(int[] array) { for (int...原创 2019-04-28 21:36:00 · 390 阅读 · 0 评论 -
java排序--交换排序--冒泡排序和快速排序
交换排序的基本思想是:交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排 序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 交换排序有冒泡排序和快速排序 冒泡排序有基础写法和优化后写法,我们先来看最基础的冒泡排序: 特性: 1丶时间复杂度:O(N^2) 2丶空间复杂度:O(1) 3丶稳定性:稳定 下面是代码实现: public cla...原创 2019-04-28 22:27:31 · 1240 阅读 · 0 评论 -
java排序--归并排序
归并排序的基本思想是: 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有 序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并排序基本步骤图解: 归并排序的特性: 1丶时间复杂度:O(N*logN) 2丶空间...原创 2019-05-06 08:46:50 · 363 阅读 · 0 评论