Questions tagged «quicksort»



11
为什么极简主义的示例Haskell快速排序不是“真正的”快速排序?
Haskell的网站引入了非常有吸引力的5行快速排序功能,如下所示。 quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater) where lesser = filter (< p) xs greater = filter (>= p) xs 它们还包括“ C中的True quicksort”。 // To sort array a[] of size n: qsort(a,0,n-1) void qsort(int a[], int lo, int hi) { int h, …

13
快速排序:选择枢纽
实施Quicksort时,要做的一件事情是选择一个枢轴。但是当我看下面的伪代码时,不清楚如何选择支点。列表的第一个元素?还有吗 function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and remove a pivot value pivot from array for each x in array if x ≤ pivot then append x to less else append x to greater return concatenate(quicksort(less), pivot, quicksort(greater)) 有人可以帮助我掌握选择支点的概念,以及不同的情况是否需要不同的策略。


30
使用Python进行快速排序
我对python完全陌生,我正在尝试在其中实现quicksort。有人可以帮我完成我的代码吗? 我不知道如何连接三个数组并打印它们。 def sort(array=[12,4,5,6,7,3,1,15]): less = [] equal = [] greater = [] if len(array) > 1: pivot = array[0] for x in array: if x < pivot: less.append(x) if x == pivot: equal.append(x) if x > pivot: greater.append(x) sort(less) sort(pivot) sort(greater)

7
O(N log N)复杂度-与线性相似吗?
所以我想问这个琐碎的问题会被埋葬,但是我对某些事情有些困惑。 我已经用Java和C实现了quicksort,并且正在做一些基本的比较。该图显示为两条直线,C超过Java对应的100,000个随机整数快4毫秒。 我的测试代码可以在这里找到; android基准测试 我不确定(n log n)行是什么样子,但我不认为这是直线。我只是想检查这是否是预期的结果,并且我不应该尝试在我的代码中发现错误。 我将公式粘贴到excel中,对于以10为底的基数,它似乎是一条直线,一开始就有些扭结。这是因为log(n)和log(n + 1)之差线性增加吗? 谢谢, 加夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.