arrays - 考虑一个快速排序的版本,其中枢轴总是被选择为相关子数组的第一个元素

标签 arrays algorithm sorting array-algorithms

我的问题是:考虑一个版本的快速排序,其中始终选择主元作为相关子数组的第一个元素,并且该算法将其输入数组从最小到最大排序。是否没有输入数组导致算法进行比已排序数组进行的比较次数更多的比较?

最佳答案

QuickSort 的最坏情况是在每次迭代时它会将大小为 n 的数组分成大小为 0n-1 的两个数组>。由于这正是您的情况(枢轴将始终是剩余数组中的最小元素),因此我相信没有输入数组会导致比已经排序的数组更多的比较是正确的。

关于arrays - 考虑一个快速排序的版本,其中枢轴总是被选择为相关子数组的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28687923/

相关文章:

javascript - 将数组的元素作为值推送到对象

algorithm - 矩阵使用matlab

java - 通过数据库或算法比较不同日期的两个对象

android - 如何允许用户对列表中的项目重新排序?

java - 没有重复项的可排序 Java 集合

c++ - 获取多维数组中的第一维

c++ - 将信息读入结构数组 C++

java - 字符串排序和字符串比较有什么区别。它们不是和我们必须比较字符串才能对其进行排序一样吗?

linux - 在 Linux 中对两个文件进行排序并找到每个文件唯一的行

mysql - C - 将数组作为参数传递并更改大小和内容