gpt4 book ai didi

algorithm - 快速排序中的枢轴选择

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:13:57 24 4
gpt4 key购买 nike

快速排序中分区元素的理想选择是

(A) First element of the list

(B) Last element of the list

(C) Randomly chosen element of the list

(D) Median of the list

给出的答案是 (A),但根据我的说法,应该是 (D)。我哪里错了?

最佳答案

选择 (A) 或 (B) 将导致 Quicksort 遇到最坏情况,时间复杂度为 O(n²)。

随机选择会偏离这个糟糕的性能,算法会有效运行。

选择中值元素仍然足以防止算法表现不佳。问题是它是每次迭代速度较慢的常数因子。

所以 (C) 或 (D) 都可以。


来自 Wikipedia :

在快速排序的早期版本中,分区的最左边的元素通常会被选为基准元素。不幸的是,这会导致已经排序的数组出现最坏情况,这是一个相当常见的用例。通过为枢轴选择一个随机索引、选择分区的中间索引或(特别是对于较长的分区)为枢轴选择分区的第一个、中间和最后一个元素的中值,这个问题很容易解决。

关于algorithm - 快速排序中的枢轴选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com