這章介紹了中位數和順序統計學
中位數即乙個序列中最中間的數字, 在快速排序中非常有意義, 在其它的一些應用中也很有效, 因為可以2分序列, 這樣會有更好的效率。
這章主要介紹如何不排序來找到序列的順序, 由於不需要排序, 可以減少很多比較的操作, 最終可以獲得一些線性的演算法, 得到排名第i的數字。 演算法的基礎是首先利用快速排序中的partition, 將序列2分, 然後其中不包括i的序列就不需要處理, 只需要處理另一半, 省了很多操作,利用這個方式, 獲得更好的效率。
緊接著利用了乙個更複雜的select, 和partition效果類似, 不過最壞情況下的效能會更好一些, 是o(n). 但是係數非常大, 如果序列本身不是很長的話,反而效率比較低。
思考題中的郵局問題非常有趣, 介紹了乙個帶權中位數, 即找尋和n個郵局位置總合最近的點, 每個郵局的權不一樣。 帶權中位數即是解。
演算法導論第九章習題9 3 7
在o n 時間範圍內找出陣列a n 中位數相鄰的k個數字 思路 簡單的思路是先找出中位數 n 1 2然後依次找第 n 1 2 1小數字 n 1 2 2小數字 n 1 2 3.小數字。n 1 2 k 2小數字,再找第 n 1 2 1小數字 n 1 2 2小數字 n 1 2 3.小數字。n 1 2 k ...
演算法導論第九章9 3例題
該演算法對9.2例題中的partition函式進行改進,9.2中對劃分主元是隨機選擇,而在本 中主元的選擇更有目的性,演算法的思路是先將陣列每五個元素為一組,並進行插入排序,取這五個元素的中位數。同理將所有分組的中位數取出,並取出中位數的中位數。元師陣列的劃分基於該中位數的中位數進行,這樣劃分得到的...
第九章(筆記)
轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...