随笔分类 - php算法
摘要:二分查找也叫折半查找,是每次查找集合中的一半。 如上所示数组,如果现在要查找68所在的位置,使用遍历比较的话,最坏情况需要查找10次,而如果使用二分查找算法的话,只需比较3次就能找到,大大提高了查找效率。 当然,数量小的数组可能看不出很大的差异,如果数组特别大,就能明显的比较出来。 PHP代码如下:
阅读全文
摘要:1、原理归并排序是一种概念上最简单的排序算法,与快速排序一样,归并排序也是基于分治法的。归并排序将待排序的元素序列分成两个长度相等的子序列,为每一个子序列排序,然后再将他们合并成一个子序列。合并两个子序列的过程也就是两路归并。 2、复杂度归并排序是一种稳定的排序算法,归并排序的主要问题在于它需要一个
阅读全文
摘要:快速排序:顾名思义,这是实践中的一种快速的排序算法,它平均运行实践是O(N log N).该算法之所以特别快,主要是由于非常精炼和高度优化的内部循环。它的最坏情形性能为O(N^2)。 像归并排序一样,快速排序也是一种分治的递归算法。 步骤: 1、从数列中挑出一个元素,称为"基准"(pivot) 2、
阅读全文