随笔分类 -  简单算法

虽然在实际开发中很少能用到算法,但是锻炼动脑能力,现在懒得越来越少用脑子了....
摘要:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。... 阅读全文
posted @ 2015-06-16 22:31 YoMe 阅读(192) 评论(0) 推荐(0)
摘要:插入排序使用了两层嵌套循环,逐个处理待排序的记录。每个记录与前面已经排好序的记录序列进行比较,并将其插入到合适的位置。假设数组长度为n,外层循环控制变量i由1至n-1依次递进,用于选择当前处理哪条记录;里层循环控制变量j,初始值为i,并由i至1递减,与上一记录进行对比,决定将该元素插入到哪一个位置。这里的关键思想是,当处理第i条记录时,前面i-1条记录已经是有序的了。需要注意的是,因为是将当前记录与相邻的上一记录相比较,所以循环控制变量的起始值为1(数组下标),如果为0的话,上一记录为-1,则数组越界。现在我们考察一下第i条记录的处理情况:假设外层循环递进到第i条记录,设其关键码的值为X,那么 阅读全文
posted @ 2013-09-29 20:22 YoMe 阅读(278) 评论(0) 推荐(0)
摘要:冒泡排序算法: 相邻两个数进行比较,小的往前排,大的往后靠,每进行一趟比较,都会选出一个最大的数放到最后,就像水泡一样,越往上浮,水泡就越大。 下面看一下代码: pulic class BubbleSorter { public void Sort(int[] numArry) { int temp; for(int i=0;inumArry[j+1]) { temp=numArry[j]; num... 阅读全文
posted @ 2013-09-23 22:52 YoMe 阅读(221) 评论(0) 推荐(0)