C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 如何进行三个快速排序中位数的最坏情况排列大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道快速排序的时间复杂性.但我想知道如何创建最坏情况的排列.

我想有一条规则要做到.我认为它真的很多,但对我来说太难了.

请告诉我如何创建三个快速排序的中位数的最坏情况,而不是正常的快速排序.
(例如,如果pivot是列表中最左侧的项目,列表的最坏情况排列是排序列表,但是pivot的中位数是3?)

here is my quick sort algorithm code

解决方法

实际上,创建一个项目排列并不会导致所有或甚至大多数Quicksort实现都出现最坏情况的行为.事实上,根据排序的实现方式,一次运行中的最坏情况数组在后续运行中可能会很好.如果实现使用中间随机三来选择枢轴,并且每次调用例程时使用不同的种子,则可能发生这种情况.

C qsort函数和许多其他库中的排序库函数很容易受到“Quicksort杀手”算法的影响,但它使用比较回调中提供的信息来动态创建最坏情况.令人惊讶的是,这并不困难.例如,参见A Killer Adversary for Quicksort.

大佬总结

以上是大佬教程为你收集整理的c – 如何进行三个快速排序中位数的最坏情况排列全部内容,希望文章能够帮你解决c – 如何进行三个快速排序中位数的最坏情况排列所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。