Algorithm
文章平均质量分 61
suogongy
a good man!
展开
-
快速排序的简单实现
本文的主题即用C语言简单实现快速排序。 《算法导论》上面讲的跟严蔚敏的《数据结构》上面讲的是不一样的。 《数据结构》(严版)上面是,先确定pivot key之后,再依次交替地从后往前调,从前往后调。一次partition下来,基本就确定小于pivot key的值已经排到左边,大于它的值已经排到右边。然后递归,基本算法就实现了。 《算法导论》上面的思路则是,在确定以未排序数组最后一元素为piv原创 2012-11-02 15:22:36 · 484 阅读 · 0 评论 -
快速排序的优化
本文源于算法导论第二版习题 7.4-5.。一般称改进的快速排序,又称快速插入排序。 题目的大体意思是:当待排数组近似有序时,插入排序的效率会很高,那么考虑在快速排序的时候,当子问题的规模足够小时,子问题不排序,这样到最后,原待排数组将近似有序,此时采用插入排序来完整最终的排序。而我的实现则是:当子问题的规模大于某个临界值k时,采用传统的快速排序法,当子问题的规模小于k时,改用插入排序。我猜想这样原创 2012-11-02 21:45:43 · 474 阅读 · 0 评论