请问:求第K小元素的随机算法(Las Vegas算法)的时间复杂度?
找第k小元素的随机算法(Las Vegas算法):
在n个数中随机的找一个数A[i]=x, 然后将其余n-1个数与x比较,分别放入三个数组中: S1(元素均<x), S2(元素均=x), S3(元素均>x)。 若|S1|≥k 则调用Select(k,S1); 若(|S1|+|S2|)≥k,则第k小元素就是x; 否则就有(|S1|+|S2|)< k,此时调用Select(k-|S1|-|S2|,S3)。
问题:算法复杂度是多少?怎么算出来的?
多谢!!