算法入门笔记
文章平均质量分 67
王俊祥
这个作者很懒,什么都没留下…
展开
-
算法入门之插入排序
插入排序原理:从数组第二个元素开始,与之前的元素进行比较大小,如果小于q原创 2014-05-07 11:52:02 · 735 阅读 · 0 评论 -
算法入门之希尔排序
希尔排序原理:希尔排序是把j原创 2014-05-07 23:26:34 · 709 阅读 · 0 评论 -
算法入门之归并排序(自底向上方法)
与上一篇的自顶向下方法相反,我们直接从最小的问题开始解决,最终大问题迎刃而解实现如下:其中只有merge_sort改变了function less($m, $n) { return $m < $n;}function merge(&$a, $lo, $mid, $hi) { $i = $lo; $j = $mid+1; $tmp = array原创 2014-05-08 23:41:40 · 1507 阅读 · 0 评论 -
算法入门之归并排序(自顶向下方法)
归并排序原理:归并排序用到的是分治思想,即把一个大问题分成两个小问题,然后把一个小问题再分为两个更小的小问题,从最小的问题开始解决,然后把小问题的结果进行整合,最终解决大问题,这种思想是自顶向下的方法,特点是先进行递归,最终进行排序,在之后的快速排序中可以看到,快速排序特点是先进行排序,后进行递归原创 2014-05-08 23:32:27 · 1311 阅读 · 0 评论 -
算法入门之选择排序
选择排序:首先从一个序列里找出一个最小的yuan'su原创 2014-05-07 00:08:46 · 743 阅读 · 0 评论 -
算法入门之快速排序
快速排序原理:快速排序先把等待排序的集合打乱顺序,把第一个元素作为基准元素,为第二个元素和最后一个元素分配两个指针i和j,如果a[i]小于基准元素则i++,如果a[j]大于基准元素则j--,这样把大于基准元素的a[i]和小于基准元素的a[j]互换,以此类推,最终把基准元素与a[j]相交换,就得到一个a[j]左侧全部小于a[j],右侧全部大于a[j]的一个近似有序数组,然后按照如上步骤重新寻找每个被a[j]分开的数组中的分隔点,最终得到有序数组。在通用排序中,一般都会选取快速排序来解决问题。原创 2014-05-11 23:23:58 · 981 阅读 · 0 评论