【发布时间】:2017-09-12 01:47:53
【问题描述】:
假设我们有一个标准的双向分区快速排序算法,它总是以第一个元素为中心。但是,在 QuickSort 的这种轻微变体中,我们首先交换第一个和中间元素,然后以“新”第一个元素为轴。我的问题是,这会改变最坏情况下的运行时间吗?
我最初的想法是否定的,因为在每个子数组中,元素之间的相对顺序仍然是随机的,因此切换第一个和中间元素不会改变整体运行时间。但由于我有兴趣找到最坏的情况,我不确定是否有一些“特殊”数组会导致这种轻微的变体改变原始算法的最坏情况运行时。
【问题讨论】:
标签: quicksort