我必須實現一個解決多選問題的算法。 的多項選擇的問題是:高效的多選算法
給定n個元素的集合S從直線有序集合繪製,以及一組K = {K1,K2,...,KR}正整數的1和n之間,多選問題是選擇き個最小的元素對於i的所有值,1 < = I < = R
我需要解決上Θ平均情況下(N捲筒R) 我發現一個實現我需要的解決方案的論文,但它假定在集合S上沒有重複的數字。問題是我不能假設這一點,而且我也不知道如何調整該算法的pap呃支持重複的數字。 這篇文章在這裏:http://www.ccse.kfupm.edu.sa/~suwaiyel/publications/multiselection_parCom.pdf 並且算法在第二頁上。任何提示都歡迎!
爲什麼你不能簡單地使用快速排序對該集合進行排序並直接選擇kith元素?不知道我是否理解正確。 –
@AbhishekBansal,因爲它的成本平均是Θ(n log n),比我要求的要高 – Ivan