线性时间选择

问题:给定线性序集中n个元素和一个整数k,1<=k<=n,要求找出这n个元素中第k小的元素。 我们采用快速排序的思想来解决这个问题。首先我们要找到基准的位置,如果基准的位置小于k,则表示第k小的元素在基准的后面,否则在基准的前面。 如果能在线性时间内找到一个划分基准,使得按这个基准所划分出的2个子数组的长度都至少为原数组长度的 ε 倍(0<ε<1是某个常数),那么就可以在最坏情况下用O(n)时间完
相关文章
相关标签/搜索