41得票8回答
三数取中策略

什么是快速排序中的三数取中策略? 我在网上看到了这个概念,但我不知道它具体是什么?它为什么比随机化快速排序更好呢?

37得票6回答
何时使用归并排序而不是快速排序?

在许多情况下,快速排序比归并排序更好。但是,在什么情况下归并排序可能比快速排序更好呢? 例如,当所有数据无法一次性加载到内存中时,归并排序的效果更好。还有其他情况吗? 建议重复问题的答案列出了使用快速排序优于归并排序的优点。我正在询问可能的情况和应用程序,其中归并排序比快速排序更好。

37得票4回答
快速排序算法的稳定性

快速排序不是稳定的算法,因为它交换非相邻元素。 请帮我理解这个说法。 我知道如何进行分区以及什么是稳定性。但我无法弄清楚为什么上述原因导致它不稳定?我认为同样的情况也适用于归并排序-尽管它被引用为稳定算法。

34得票6回答
快速排序的最坏情况

我正在开发一个程序,需要更好地理解以下内容。 Quicksort的最坏运行时间是多少,可能会导致这种最坏情况的性能?我们如何修改quicksort程序以缓解这个问题? 我知道它的最坏情况是O(n^2),并且我知道当主元是唯一的最小或最大元素时会发生。我的问题是如何修改程序以缓解这个问题。 ...

34得票6回答
插入排序为什么比快速排序更适用于少量元素的列表?

插入排序不是O(n^2)比快速排序的O(n log n)更慢吗?...所以对于小规模的n,它们之间的关系不是相同的吗?

31得票2回答
使用C++11可变模板,在编译时快速排序

我刚刚使用C++11可变参数模板实现了快速排序算法,以在编译时计算它。然而,当数据集太大时,我遇到了性能问题。#include <iostream> using namespace std; template<int... vs> struct Seq {}; t...

31得票3回答
JavaScript 快速排序中是否存在无限递归?

这里是我写的快速排序代码。该函数无法达到基本情况,因此无法正常工作。如果我将枢轴、r和l记录到控制台上,则无论调用多少次排序函数,它们都保持不变。因此,我想知道参数l、r是否真正作为数据传递给函数。这是为什么呢?function sort(data){ if(data.length &...

31得票22回答
JavaScript 快速排序

我一直在网上搜索,想知道是否有一种“稳定”的quicksort实现方法是通常使用的?我可以自己写,但没必要重复造轮子...

29得票3回答
错误:调用的对象类型“int”不是函数或函数指针

我这里写了一个快速排序算法:void swap(int& a, int& b); int mid(int lo, int hi); // My quicksort implementation void sort(int vec[], int lo, int hi) { ...

28得票7回答
为什么List<T>.Sort方法会重新排序相等的IComparable<T>元素?

我对列表排序方法的处理方式有些问题。给定以下元素:class Element : IComparable&lt;Element&gt; { public int Priority { get; set; } public string Description { get; se...