摘要:
在一组随机排列的数组中找出第k小的,这个元素称为k-th Order Statistic。能想到的最直观的算法肯定是先把这些数排序然后取第k个,时间复杂度和排序算法相同,可以是Θ(nlgn)。但它也有平均情况下时间复杂度是Θ(n)的算法,基于快速排序思想。算法:01/* 这个函数的返回值就是第j小的数 */02intpartition(intstart,intend)03{04inti,j,pivot=a[start],temp;05i=start;06j=end;0708while(i<j)09{10while(a[i]<=pivot&&i 阅读全文