排序算法
是胖橘呀
别为难胖橘!
展开
-
Java排序系列之归并排序
前言:Java排序之归并排序简介:归并排序是一个十分经典的排序算法,它是利用分治的思想实现的算法。什么是分治呢?分:即为将问题分解为规模较小的问题进行递归求解;治:将得到的小规模问题的解合在一起,形成最终的解。现在常用的是二路归并的排序算法。原理:第一步:将待排序数组二分成两份;第二步:对每个数组使用归并排序进行排序;第三步:合并两个排序后的数组,形成最终答案。ps:注意,怎么排序...原创 2020-05-06 23:05:29 · 250 阅读 · 0 评论 -
Java排序系列之希尔排序
前言:Java排序之希尔排序简介:俺们今天来聊聊希尔排序这个排序算法,好了,今天这个排序算法的名字啊,它跟该算法的原理呀,那完全没有一点关系!开个玩笑,希尔排序之所以叫希尔排序,是因为设计这个算法的人名字叫希尔(Donald Shell),因此就以他的名字命名。但是哈,Metzner本人却说,“我没有为这种算法做任何事,我的名字不应该出现在算法的名字中。”这个…对吧,还挺谦虚的。好了,开始今...原创 2020-04-09 20:45:38 · 220 阅读 · 0 评论 -
Java排序系列之插入排序
前言:排序算法之插入排序简介:我们来学习下插入排序。其实排序的所有算法起的名字都还是很有标识性的。比如今天的插入排序,其实它的名字就已经很好的反应了该算法的原理了。简单描述一下该算法原理:对于一个待排序数组,我们假设第一个元素已经排序好了,剩下的元素都是待排序的元素。我们取待排序序列的第一个元素,将它按照顺序插入到前面的有序序列中,这样前面有序序列多了一个元素,且依然有序,待排序数组减少了一...原创 2020-04-03 18:51:36 · 195 阅读 · 0 评论 -
Java排序系列之选择排序
前言:Java排序之选择排序简介:今天咱们来总结一下选择排序这个排序算法。总的来说呢,这个算法比较简单,争取用较短的篇幅将它描述清楚。我们大致来说一下这个算法的流程,从待排序的数组的第一个元素开始,找到该元素以及该元素之后的所有元素中的最小值,然后交换该元素和最小元素,此时,数组的前一个元素已经是有序的了。接下来,咱们依次对后面的每个元素进行该操作,直到数组有序。说到这里我们应该明白了,为什...原创 2020-04-02 18:14:00 · 132 阅读 · 0 评论 -
Java排序系列之快速排序
前言:排序算法之快速排序简介:最开始看见这个名字,就在想,名字这么嚣张,快排,那必然是时间复杂度领先其它排序算法咯!后面发现,是的,它确实快!快排呢,是对冒泡排序的一种改进,它是通过多次比较和交换来实现的。简单的描述一下它的运行过程就是,先选定一个数,把小于这个数的其他数放到被选定这个数的左边,大于这个数的其他数放到该数的右边,那么就形成该数左边的序列全部小于该数右边的序列。好了,那么我们对...原创 2020-04-01 17:43:17 · 211 阅读 · 0 评论 -
Java排序系列之冒泡排序
前言:写这一系列排序博客呢,第一个目的是总结一下排序的相关算法,加深自己的记忆和理解,同时呢,在最后的博客中总结和比较各种算法的特点;第二呢,希望给观看者提供一个思路,也希望有朋友能指出存在的不足,感激不尽! 简介:排序是我们日常编程中经常会遇见的问题,JAVA提供了封装好的排序函数--Arrays.sort(),这个函数将传入的数组按照升序排列好并返回。当然了,现在也有很多种不同的排序算法,...原创 2020-03-31 22:13:42 · 166 阅读 · 0 评论