
some sort algorithm
文章平均质量分 54
算法与数据结构中的排序算法汇总。
乌托邦钢铁侠
Practice makes perfect, fighting with my time .
1. Java
2. English foolish
3. Love riding
展开
-
归并排序算法详解
归并排序采用递归+分治排序的思想,将有序在子序列进行合并。快速排序是采用递归+独立排序的思想,在时间复杂度和空间复杂度要比快速排序差点。 归并排序的思想: 一个数列中的任意一个长度大于1的子数列都可以分为2个长度差不都的序列,每次将这2个序列进行比较,然后将结果放入到新队列里进行返回。由于每次分割的操作都是均分,因此直到均分成后得到的子数列中只有一个元素时,进行排序完后,相当于排序完毕。也就是递归结束。 缺点: 比较占用内存,因为每次需要新的数组去接收左右......原创 2021-07-26 15:48:54 · 529 阅读 · 0 评论 -
希尔排序与桶排序算法详解
一、希尔排序 希尔排序又称缩小增量排序,是对插入排序的改进版,思想如下: (1) 根据数组的长度设置适合的增量dk=a.length/3 +1 ,然后将间隔增量的元素与之前的元素组合成一个序列,我在这里简称增量序列。 (2) 对增量元素的序列进行插入排序。 (3) 每趟排序完毕后,将增量缩小为 dk=dk/3+1, 当最后一次增量为1时,排序完毕。package sort;import java.util.Arrays;/** * @aut...原创 2021-05-22 17:53:43 · 636 阅读 · 0 评论 -
快速排序算法详解
前言 什么是快速排序? 这是我之前遇到的一个面试题,当时没回答来,我只写过冒泡排序、选择排序、插入排序呀,啥是快速排序,委屈巴巴, 一首凉凉送我自己。1. 什么是快速排序算法? 快速排序算法是对冒泡排序算法的一种改进,没有两两相邻之间的比较换位,主要采用的思想是通过递归+独立排序的形式将无序的数列进行分割成可以独立排序的2部分数列,其中一部分数列比另外一部书数列小,每次排序两个独立的数列,直到排序完毕,即可完成最终的排序, 在算法时间复杂度上比冒泡排序小很多。...原创 2021-05-06 08:32:09 · 4119 阅读 · 0 评论 -
冒泡排序、选择排序、插入排序、奇偶排序等算法分析以及性能比较
1.将一个列表中具有同样属性的字段排序,按照顺序1,2,3.......标出,此例中的单号可能存在相同。参数为一个列表: private List<DepartmentExpenseDTO> setSortByDocumentNumber(List<DepartmentExpenseDTO> DepartmentExpenseDTO) { ...原创 2020-01-14 09:46:20 · 1047 阅读 · 0 评论