摘要: 算法说明个人感觉是没有意义的算法,只是用来作为学术研究。或者说开拓一下思维。从wikipedia copy来的一句解释的话:Stooge排序是一种低效的递归排序算法,甚至慢于冒泡排序。在《算法导论》第二版第7章(快速排序)的思考题中被提到,是由Howard、Fine等教授提出的所谓“漂亮的”排序算法... 阅读全文
posted @ 2015-03-20 14:41 HarkLee 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 算法说明奇偶排序又叫奇偶换位排序,砖排序。它是一种交换排序,也是冒泡的一个变种顾名思义,奇偶排序,其实就是先循环奇数位,然后将奇数位与偶数位比较计算。 然后再循环偶数位,再和奇数位比较运算。看一下代码大家就明白了。据wiki所述,这种算法是一种并行算法,个人对这块现在不太理解,没明白这块所谓的并行是... 阅读全文
posted @ 2015-03-20 11:24 HarkLee 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 算法说明鸡尾酒排序又叫定向冒泡排序,鸡尾酒搅拌排序,搅拌排序,涟漪排序,回来排序,快乐小时排序。鸡尾酒排序是交换排序的一种,它是冒泡排序的一个轻微的变种。冒泡是从低向高比较排序,鸡尾酒从低向高,从高向低交换着进行排序。大家看一下代码就知道了。某些特殊有序数组情况下,鸡尾酒排序是效率略好于冒泡排序,例... 阅读全文
posted @ 2015-03-20 10:36 HarkLee 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 算法说明桶排序的逻辑其实特别好理解,它是一种纯粹的分而治之的排序方法。举个例子简单说一下大家就知道精髓了。假如对11,4,2,13,22,24,20 进行排序。那么,我们将4和2放在一起,将11,13放在一起,将22,24,20放在一起。 然后将这三部分分别排序(可以根据实现情况任意选择排序方式,我... 阅读全文
posted @ 2015-03-20 07:39 HarkLee 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 算法说明基数排序是基于计数排序的,所以看这个之前要先看一下计数排序对于理解基数排序是很有帮助的(发现计数和基数的音节几乎一致啊)。这个我有写,请点击。OK,现在你肯定已经熟悉了计数排序,那么我就来说一下基数排序。所谓基数排序,其实就是分别对数字的个位,十位,百位,百位。。。。分别进行计数排序。当然可... 阅读全文
posted @ 2015-03-19 16:12 HarkLee 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 算法说明计数排序属于线性排序,它的时间复杂度远远大于常用的比较排序。(计数是O(n),而比较排序不会超过O(nlog2nJ))。其实计数排序大部分很好理解的,唯一理解起来很蛋疼的是为了保证算法稳定性而做的数据累加,大家听我说说就知道了:1、首先,先取出要排序数组的最大值,假如我们的数组是int[] ... 阅读全文
posted @ 2015-03-19 07:04 HarkLee 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 算法说明希尔排序是插入排序的优化版。插入排序的最坏时间复杂度是O(n2),但如果要排序的数组是一个几乎有序的数列,那么会降低有效的减低时间复杂度。希尔排序的目的就是通过一个increment(增量)来对数列分组进行交换排序,最终使数列几乎有序,最后再执行插入排序,统计出结果。通过increment=... 阅读全文
posted @ 2015-03-18 06:40 HarkLee 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 前言快速排序是最常见,也是面试中最容易考的排序方法,这里做一下总结算法说明其实这里说的很清楚了:http://blog.csdn.net/morewindows/article/details/6684558不过我还是打算按自己的逻辑再描述一下,如果看不懂,再去看这位大神的贴子啦。快速排序其实用的也... 阅读全文
posted @ 2015-03-17 07:41 HarkLee 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 前言堆排序我是看了好半天别人的博客才有了理解,然后又费了九牛二虎之力才把代码写出来,我发现我的基础真的很差劲啊……不过自己选的路一定要坚持走下去。我试着把我的理解描述出来,如有不妥之处希望大家可以指点出来算法说明堆排序,是基于堆的排序。 堆也就是二叉树的一种(完全二叉树),首先要确定堆的定义,才可以... 阅读全文
posted @ 2015-03-17 06:12 HarkLee 阅读(390) 评论(0) 推荐(0) 编辑
摘要: /* * 简单选择排序 */public class SimpleSort { public static void main(String[] args) { int[] arrayData = { 5, 9, 6, 7, 4, 1, 2, 3, 8 }; SimpleSortMethod(a... 阅读全文
posted @ 2015-03-16 13:57 HarkLee 阅读(133) 评论(0) 推荐(0) 编辑