PARTITION代码

第7.1节
Exercise 7.1-1

Exercise 7.1-2
如果数组中所有元素的值相同,则PARTITION返回r。为了使PARTITION在所有元素的值相同时返回
,修改算法第4行如下:如果A[j]≤x且j(mod2) = (p + 1)(mod2)。这导致算法将相同值的一半实例算作小于,另一半算作大于。
Exercise 7.1-3
![]()
for循环精确地进行r - p次迭代,每次迭代最多占用常数时间。for循环之外的部分最多占用常数时间。由于r−p是子数组的大小,因此PARTITION所花费的时间最多与调用它的子数组的大小成正比。
Exercise 7.1-4
![]()
要修改QUICKSORT以非递增顺序运行,我们只需要修改PARTITION的第4行,将≤改为≥。
第7.2节
Exercise 7.2-1

本文讨论了快速排序中的PARTITION算法,涉及其在不同情况下的性能优化,包括相同值处理、非递增排序、已排序数组及随机化的影响。文章还分析了快速排序的期望运行时间和最坏情况下的优化策略。

5万+

被折叠的 条评论
为什么被折叠?



