線性時間選擇

問題:給定線性序集中n個元素和一個整數k,1<=k<=n,要求找出這n個元素中第k小的元素。 我們採用快速排序的思想來解決這個問題。首先我們要找到基準的位置,如果基準的位置小於k,則表示第k小的元素在基準的後面,否則在基準的前面。 如果能在線性時間內找到一個劃分基準,使得按這個基準所劃分出的2個子數組的長度都至少爲原數組長度的 ε 倍(0<ε<1是某個常數),那麼就可以在最壞情況下用O(n)時間完
相關文章
相關標籤/搜索