quicksort相关内容

帮助实施快速排序

这是我所拥有的,它不起作用.无法弄清原因...问题可能出在quick_sort函数中. #include #include void quick_sort(int * a, int l, int r); void swap(int * a, int i, int j); int main(void) { #define N 10 int ..
发布时间:2020-07-21 05:35:58 其他开发

如何使我的快速排序算法以升序和降序对数组进行排序?

当前,我的快速排序算法在情况1中以升序对数组进行排序,但是我想这样做,以便当用户选择选项2(情况2)时,它以降序对数组进行排序.是否需要为每种情况创建2个单独的算法?还是有一种更简单,更有效的方法? 感谢帮助. static void Main(string[] args) { Console.WriteLine("Analysis of Seismic D ..
发布时间:2020-07-21 05:19:49 C#/.NET

快速排序python递归

这是我的快速排序代码,partition函数运行良好,但是在调用递归时遇到问题. pos每次启动功能时都会更改,然后列表限制也将更改.该如何解决? def partition(lst, start, end): pos=0 if len(lst) ..
发布时间:2020-07-21 05:11:10 Python

quicksort的Linux实现是否“回退"了?插入排序?

我在Bentley& McIlroy(1993)提出,当数组变得足够小时,他们建议的Quicksort实现使用插入排序. 我很想知道现代内核是否使用相同的方法.有谁知道例如Linux内核是否以这种方式从Quicksort切换到Insertion Sort? 解决方案 假设您的意思是C库中的qsort,以下是最新glibc中的qsort(),它是大多数Linux系统中使用的glibc: ..
发布时间:2020-07-21 05:06:13 服务器开发

计算快速排序比较

我实现了一个简单的快速排序(下面的代码),以计算快速排序进行的平均和最差比较.我声明了一个全局变量来保存计数器以进行比较.我将3个计数器放置在我认为可以对比较进行计数的不同位置上,问题是计数器总和与通过快速排序进行的比较总数的理论值不匹配.我试图解决这个问题几个小时,但很快就解决了.如果您能指出我应该在哪里放置柜台以及为什么要将它们放在那里,我将不胜感激.我假设计数器应该放在进行比较的地方.显然我 ..
发布时间:2020-07-21 04:29:04 Java开发

快速排序算法未正确分配数据透视

我观看了这种快速排序算法的出色可视化效果: http://www.youtube.com/watch?v = Z5nSXTnD1I4 我觉得我真的很了解快速排序的原理,并借助一些在线指南,着手创建自己的快速排序. 这是我想出的: public void quickSort(int[] a, int left, int right) { int index = partiti ..
发布时间:2020-07-21 04:16:43 Java开发

以第一个元素为例的快速排序

目前我正在快速排序,并想知道它是如何工作,当第一(或最后)元件被选作枢轴点. 例如,我有以下数组: {15, 19, 34, 41, 27, 13, 9, 11, 44} 这是我认为的情况: {15, 19, 34, 41, 27, 13, 9, 11, 44} ^ pivot {15, 19, 34, 41, 27, 13, 9, 11, 44} ^ ..
发布时间:2020-07-21 03:09:01 其他开发

3种方式的快速排序(C实现)

我尝试实现一些使用C的纯泛型算法.我坚持使用3-快速排序的方式,但以某种方式实现并不能提供正确的输出.输出几乎排序,但某些键不在应有的位置.代码如下.提前致谢. #include #include #include #include static void swap(void *x, void *y, siz ..
发布时间:2020-07-21 03:06:19 其他开发

插入排序vs气泡排序vs quicksort算法

我正在课堂上进行一项研究 我测试了冒泡排序和插入排序以及快速排序,我对随机数进行了测试. 结果表明,插入排序比气泡排序更快,而快速排序最慢. 所以我在时间方面排在下面 插入排序(最快) 冒泡排序(第二得分) 快速排序(最慢) 考虑到插入和冒泡排序的复杂度为O(n2),而 快速排序O(n log n)和O(n log n)应该更快! 有人可以和我分享一些解释吗? 谢 ..
发布时间:2020-07-21 02:56:31 移动开发

选择排序,插入排序和快速排序的方案

如果任何人都可以就我的逻辑提供一些意见,我将不胜感激. 对于所有键都相同,选择排序或插入排序的数组,哪种方法运行更快? 我认为这与对数组进行排序时类似,这样插入排序将是线性的,而选择排序将是二次的. 哪种方法以相反的顺序,选择排序或插入排序对数组运行更快? 我认为它们将以类似的方式运行,因为每个位置的值都必须更改.插入排序的最坏情况是反向排序,这意味着它是二次的,然后选择排 ..

快速排序-使它稳定的条件

如果排序算法通过等号键保留任何两个元素的相对顺序,则该算法是稳定的.在哪种情况下quicksort稳定? 除非没有较小的密钥,否则没有任何项目通过时,Quicksort是稳定的. 还有哪些其他条件使其稳定? 解决方案 好吧,使用O(N)空间而不是就地,不稳定的O(log N)进行稳定的快速排序很容易实现用途.当然,使用O(N)空间的快速排序不一定是稳定的,但是可以做到这样. ..
发布时间:2020-07-21 02:51:28 其他开发

排序数字及其索引的最快方法

我有一个看似很基本的问题,但这是在“每个CPU滴答声都非常重要"的情况下进行的(这是将在超级计算机上使用的较大算法的一部分). 问题很简单:对无符号long long int数字及其原始索引进行排序的最快方法是什么? (一开始,无符号long long int数是完全随机的顺序.) Example : Before Numbers: 32 91 11 72 Indexes: 0 1 2 ..
发布时间:2020-07-21 02:49:08 C/C++开发

使用QuickSort C#按列对CSV文件进行排序

我有一个名为Item.csv的文件,该文件包含以下信息: categoryName, currentPrice, currencyId Boots, 19.95, GBP Thermometers,2.03,GBP Garden Sheds,38.95,GBP 我想通过使用QSortAlgorithm按价格对内容进行排序并将其另存为sortedItem.csv. 到目前为止,我可以使用Q ..
发布时间:2020-07-08 11:39:08 C#/.NET

为什么快速排序比基数排序更受欢迎?

为什么快速排序(或内向排序)或任何基于比较的排序算法比基数排序更常见?尤其是对数字进行排序. 基数排序不是基于比较的,因此可能比O(n logn)快.实际上,它是O(k n),其中k是用于表示每个项目的位数.而且内存开销不是关键,因为您可以选择要使用的存储桶数,并且所需的内存可能少于mergesort的要求. 与缓存有关吗?还是访问数组中整数的随机字节? 解决方案 我想到了两个 ..
发布时间:2020-07-05 04:55:17 其他开发

用php构建quicksort

我最近阅读了有关quicksort的文章,并且想知道构建自己的功能以使用quicksort对事物进行排序是否明智,或者它是否效率不高.您认为内置排序功能比自建快速排序功能好吗? 解决方案 来自 http://php.net/sort 注意:与大多数PHP排序一样 函数,sort()使用一个 快速排序的实施. PHP的核心功能将用c而不是PHP来实现,因此它们通常应该比用PHP可 ..
发布时间:2020-07-03 01:08:38 PHP

如何验证Prolog的回溯状态以执行与“懒惰序列"相同的任务.来自Clojure?

这是用Clojure编写的数字的快速排序算法.它基本上是在"Clojure的喜悦" ,第二版,第133页中找到的快速排序算法.我对它进行了少许修改,以期(希望)更好的可读性,因为原始文件感觉太紧凑了: (defn qsort-inner [work] (lazy-seq (loop [loopwork work] (let [[ part & ..
发布时间:2020-06-29 19:39:59 其他开发