
排序算法
文章平均质量分 54
内心毫无波动甚至还想笑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
并归排序(JAVA)
/** * 并归排序 * 思路:首先使序列的每个子序列都有序(将序列打散成n个单个的序列,那么每个子序列必然有序),然后逐个二路并归,使子序列段间有序, * 不断并归,最终使真个序列有序 * 过程: * 给出一个无序的序列 * 1)如果序列的长度 <= 1,那么就不需要对序列进行排序 * 2)如果序列的长度 >= 2, 对他的左半边进行递归排序,对他的右半边进行递归排序 * 3)此原创 2017-08-27 12:03:14 · 357 阅读 · 0 评论 -
快速排序(JAVA)
/** * 快速排序 * 思路: * 从右往左找比基准值小的,从左往右找比基准值大的,直到无法再找时,将基准值放在确定的位置上,然后递归排序基准值左边和右边的序列 * @author yinming.yu * */ public class QuickSort { public static void main(String[] args) { // TODO Auto-gen原创 2017-08-27 12:54:17 · 237 阅读 · 0 评论 -
插入排序(JAVA)
/** * 插入排序 * 思路: * 序列的第一个数,它可以看成是一个有序的序列,然后从序列的第二个数开始,依次插入前边的有序序列,使其依然有序, * 直到最后一个数插入完成,整个序列就是一个有序序列了 * */ public class InsertSort { public static void main(String[] args) { // TODO Auto-gen原创 2017-08-27 17:56:06 · 223 阅读 · 0 评论 -
希尔排序(JAVA)
/** * 希尔排序: * 1)从第一个元素开始,以一个增量的间隔进行插入排序,然后从第二个元素开始,以同样的增量为间隔进行插入排序,直到间隔被用完为止(因为间隔用完之后,下一个元素就会与第一个元素的排序重复了) * 2)然后换一个比较小的增量,重复1) * 3)直到增量为1,即普通的插入排序,(以1的增量进行插入排序,因为间隔内没有其他元素可以再次进行排序,所以一趟排序就好了,根普通的插原创 2017-08-27 19:40:23 · 287 阅读 · 0 评论 -
堆排序(JAVA)
看了几篇博客,以自己的理解默写了一遍自己理解的堆排序,然后本地跑了一遍,可以正常排序,因为怕以后看不懂,注释写的很啰嗦 /** * 堆排序 * 堆一般指一个完全二叉树,根据其特性,可以分为大根堆,小根堆 * 大根堆:任意父节点的值大于或等于2个孩子节点的值 * 小根堆:任意父节点的值小于或等于2个孩子节点的值 * 就是利用堆的这样的特性用来排序,所以叫做堆排序 * 比较常用的就是大根原创 2017-08-28 00:47:44 · 210 阅读 · 0 评论 -
选择排序(JAVA)
/** * 选择排序 * 思路: * 1)从序列的第一个开始,后面的元素依次和第一个元素比较,交换较小的元素放在第一个位置,直到序列的最后一个元素比较完,就确定了序列的最小项 * 2)接着从序列的第二个元素开始,重复上边步骤,直到序列只剩下一个元素为止(最后一个元素不需要比较,因为倒数第二个为止的确认就已经说明了其大于倒数第二个元素) * 一共比较n -1趟,每趟比较n-1-i次(i为趟原创 2017-08-28 09:38:17 · 596 阅读 · 0 评论 -
冒泡排序(JAVA)
/** * 冒泡排序 * 思路: * 每次都从元素的第一个开始,两两比较,把较大的元素放在后面,一直到与无序序列的最后一个比较完,就确定了该无序序列的最大值 * 这样能依次确认最大,次最大等元素,直到剩下一个元素为止,停止冒泡 * 需要比较n-1趟,每趟需要比较n-1-i * */ public class BubbleSort { public static void main原创 2017-08-28 09:51:45 · 234 阅读 · 0 评论