由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 靠。Sedgewick这3w-qsort算法居然还有bug!
相关主题
我也来一个, quick sort 只要一行。问个MATRIX的题
两行quicksort,不难些吧请教一个字符串比较排序的问题
好了。终于把3-way qsort完成标准优化了:)about STL functor and function pointers
stl的nth_element的复杂度是不是O(N)?一个C的void指针的问题
大家看看这个简单的qsort排序的问题请教如何使用qsort() to sort string.
C++如何pass一个变量给一个函数,但是函数声明却没有这个变量?再问个C++模板问题
code questionwhy functional?
c++一个问题[question] what is the time complexity of qsort in standard c libarary(GCC, more specifically)?
相关话题的讨论汇总
话题: exch话题: item话题: int话题: break话题: while
进入Programming版参与讨论
1 (共1页)
a***n
发帖数: 1616
1
http://www.cs.princeton.edu/~rs/talks/QuicksortIsOptimal.pdf
第9页算法,递归前面那两行,居然把 k<=p, k>=q 给漏了!
虽然结果依然正确,且不影响主要performance,但明显是个bug嘛:)
void quicksort(Item a[], int l, int r)
{
int i = l-1, j = r, p = l-1, q = r; Item v = a[r];
if (r <= l) return;
for (;;)
{
while (a[++i] < v) ;
while (v < a[--j]) if (j == l) break;
if (i >= j) break;
exch(a[i], a[j]);
if (a[i] == v) { p++; exch(a[p], a[i]); }
if (v == a[j]) { q--; exch(a[j], a[q]); }
}
1 (共1页)
进入Programming版参与讨论
相关主题
[question] what is the time complexity of qsort in standard c libarary(GCC, more specifically)?大家看看这个简单的qsort排序的问题
给nod101一个最优化的实时分配车票座位的算法C++如何pass一个变量给一个函数,但是函数声明却没有这个变量?
nv的显卡能战胜intel的CPU么code question
有人知道Sedgewick的算法书最后那几part什么时候出吗?c++一个问题
我也来一个, quick sort 只要一行。问个MATRIX的题
两行quicksort,不难些吧请教一个字符串比较排序的问题
好了。终于把3-way qsort完成标准优化了:)about STL functor and function pointers
stl的nth_element的复杂度是不是O(N)?一个C的void指针的问题
相关话题的讨论汇总
话题: exch话题: item话题: int话题: break话题: while