[英]Pivot element selection in Quick Select
为快速选择,在最后一个元素上选择随机支点有什么意义?
通过始终选择最后一个元素作为枢轴,我仍然可以找到所需的元素。 它会影响运行时间吗?
枢纽的选择对给定数组上的快速选择的运行时间有很大的影响。
在确定性快速选择中,如果始终选择最后一个元素作为枢轴,请想象一下,如果尝试从始终排序的列表中进行选择会发生什么。 您的数据透视图将始终是最糟糕的数据透视图,并且只会从数组中消除一个数字,从而导致Θ(n 2 )运行时。
在随机快速选择中,如果算法总是在每个递归调用上做出最坏的选择,则从技术上讲,运行时间仍可能是Θ(n 2 ),但这极不可能。 运行时间很有可能是O(n),并且没有“杀手”输入。
换句话说,具有确定性选择的枢轴的快速选择将始终具有至少一个“杀手”输入,迫使其在时间Θ(n 2 )中运行,而具有随机枢轴的快速选择没有杀手输入,并且具有出色的平均时间保证。 结果是完全不同的分析。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.