求解最接近中位數(shù)的k個數(shù):給定由n個互不相同的數(shù)組成的集合A以及正整數(shù)k≤n,設(shè)計(jì)一個O(n)時間復(fù)雜度的查找A中最接近A的中位數(shù)的k個數(shù)的算法。在采用分治法進(jìn)行查找時,為了滿足分治法的平衡原則,需要將數(shù)組分成兩個大小基本相同的子數(shù)組,其中的那個劃分點(diǎn)就是中位數(shù)。所以,中位數(shù)是指數(shù)組中能將數(shù)組劃分成兩個大小基本相同的兩個子數(shù)組的那個元素,即中位數(shù)是第「n/2」小的數(shù)。
計(jì)算T={|a-mid|,a∈A}。您可能感興趣的試卷
你可能感興趣的試題
最新試題
舍伍德算法思想是通過引入隨機(jī)化策略將確定性算法改造為隨機(jī)算法,打破原來確定性算法在某些實(shí)例情況下,其時間復(fù)雜性必然遠(yuǎn)高于平均時間復(fù)雜性的規(guī)律。下面哪些算法可以應(yīng)用舍伍德算法思想?()
?在分治法中講到快速排序,如果每次使用partion函數(shù)導(dǎo)致分組出現(xiàn)嚴(yán)重不平衡情況下,算法效率不高,最壞情況下的時間復(fù)雜度為O(n2),通過改造partition函數(shù),也就是每次隨機(jī)選擇一個元素作為劃分基準(zhǔn),這樣會很好地改善算法的性能,這種算法思想是()。
Prim算法適合稀疏圖,其時間復(fù)雜度只與邊的數(shù)目有關(guān)。
將長度分別為m,n的兩個單鏈表合并為一個單鏈表的時間復(fù)雜度為O(m+n)。
pollard算法找到一個整數(shù)因子的時間復(fù)雜性是()。
回溯法采用的搜索策略是()。
有一個問題的蒙特卡洛算法,給定一個實(shí)例,已知運(yùn)行一次其答案是錯誤的概率是1/8,現(xiàn)運(yùn)行k次該算法,其答案一直不變,問該答案的正確率是()。
用m種顏色給n個頂點(diǎn)著色、且使一條邊的兩個頂點(diǎn)顏色不同,則對應(yīng)的解空間樹是一棵()。
使用窮舉法求解最長遞增子序列的時間復(fù)雜度為()。
關(guān)于使用回溯法求解0-1背包問題,以下說法正確的是()。