
算法排序篇
布尼-QXT
这个作者很懒,什么都没留下…
展开
-
算法排序之基数排序
算法思想例如初始数组: | 220 | 143 | 662 | 531 | 488 | 277 |个位分别为:0、3、2、1、8、7第一步个位从小到大排列得: | 220 | 531 | 662 | 143 | 277 | 488 |十位:2、3、6、4、7、8第二步十位从小到大排列得: | 220 | 531 | 143 | 662 | 277 | 488...原创 2020-02-08 20:34:27 · 213 阅读 · 0 评论 -
算法排序之快速排序
算法思想详见此博客 点击进入java 代码/** * 快速排序算法实现、 * 快速排序其实是冒泡排序的一种改进,冒泡排序每次对相邻的两个数进行比较,这显然是一种比较浪费时间的。 * 最差时间复杂度和冒泡排序是一样的都是O(n2)、它的平均时间复杂度为O(nlog2n) * @author qiu * */public class QuickSort { static ...原创 2020-02-07 20:33:16 · 147 阅读 · 0 评论 -
算法排序之归并排序
算法思想点击观看讲解视频public class MergeSort { //合并操作 static void marge(int arr[],int L,int M,int R) { int left_size=M-L; int right_size=R-M+1; int [] left = new int[left_size]; int [] right = n...原创 2020-02-07 16:22:02 · 110 阅读 · 0 评论 -
算法排序之堆排序
算法思想自我感觉这个视频讲的比较好点击观看视频算法实现/** * 堆排序算法的实现 * @author qiu * */public class HeapSort { public static void main(String[] args) { int[] a = {5,8,0,1,12,50}; heapSort(a); System.out.print(Ar...原创 2020-02-06 20:49:03 · 101 阅读 · 0 评论 -
算法排序之希尔排序
算法思想希尔排序其实就是在插入排序的基础上,增加了一个增量,每次为元素划分不同的组。该图片转载于此/** * 希尔排序的实现 希尔排序其实就是在插入排序的基础上,增加了一个增量,每次为元素划分不同的组 * 克服了插入排序相邻两个元素交换的缺点,两个距离较远的元素也可以进行交换。 * @author qiu *思想:定义增量序列DM>DM-1>...>D1=1 *...原创 2020-02-06 15:09:59 · 158 阅读 · 0 评论 -
算法排序之选择排序
算法思想列如初始数组:a=[10,4,1,3,2,0,5]; 如果要求升序怎么办?第一步:找到最小数0,然后把0放在首位,等于把10和0位置互换得到新的数组a=[0,4,1,3,2,10,5];第二步:初始数据...原创 2020-02-06 14:17:12 · 228 阅读 · 0 评论 -
算法排序之插入排序
算法思想列如数组:a=[10,4,1,3,2,0,5]; 如果要求升序怎么办?第一步:因为10是(a[0])在第一个,所以10固定不动,让4和10比,因为4小于10,所以,4和10交换位子,数组变为a=[4,10,1,3,2,0,5] 这1轮比较完毕。第二步:将1与它的前一个,也就是10比,因为1小于10,所以1和10交换位子,数组变为a=[4,1,10,3,2,0,5] 再将1与...原创 2020-02-05 20:13:48 · 103 阅读 · 0 评论 -
算法排序之冒泡排序
冒泡排序算法思想 冒泡排序属于一种典型的交换排序。交换排序顾名思义就是通过元素的两两比较,判断是否符合要求,如过不符合就交换位置来达到排序的目的。冒泡排序名字的由来就是因为在交换过程中,类似水冒泡,小(大)的元素经过不断的交换由水底慢慢的浮到水的顶端。冒泡排序的思想就是利用的比较交换,利用循环将第 i 小或者大的元素归位,归位操作利用的是对 n 个元素中相邻的两个进行比较,如果顺序正确就...原创 2020-02-05 19:26:28 · 527 阅读 · 0 评论