演算法導論 第九章

2021-04-12 16:54:24 字數 434 閱讀 2226

這章介紹了中位數和順序統計學

中位數即乙個序列中最中間的數字, 在快速排序中非常有意義, 在其它的一些應用中也很有效, 因為可以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 標號 是實現段內近轉...