程式設計之美讀書筆記 4 5 磁帶檔案存放優化

2021-05-22 14:00:28 字數 740 閱讀 7049

4.5_

磁帶檔案存放優化

對乙個已經是最優解的排列,記第

i個檔案的長度為

bi,被訪問概率為

ai。如果交換第

i個和第

i+1個檔案,則平均長度一定不會變小,交換後,訪問原第

i個檔案時,要多訪問乙個原第

i+1檔案,長度增加了

ai *bi+1

,而訪問原第

i+1個檔案時,要少訪問乙個原第

i個檔案,長度減少了

ai+1 *bi

,而訪問這兩個檔案之前和之後的檔案,長度沒有改變,故有:

ai *bi+1 - ai+1 *bi >=0

即ai /bi >= ai+1 /bi+1

,由於i

可以任意取,因而

a0 /b0 >= a1 /b1 >= a2 /b2 >= … >= an-1 /bn-1

。也就是說,最優解一定滿足

p[i]/l[i]

降序排列,而根據

p[i]/l[i]

值通過降序排列只能得到唯一確定的排列(只考慮

p[i]/l[i]

值大小,如果兩個檔案的

p[i]/l[i]

值相同,它們位置可以互換而不影響),這個排列必然是最優解。因而,原問題等同於「將

p[i]/l[i]

降序排列」。

類似題:「將乙個給定的自然數陣列,連線起來得到乙個數,求這個數的最大值或最小值」。

程式設計之美讀書筆記 4 5 磁帶檔案存放優化

from 對乙個已經是最優解的排列,記第 i 個檔案的長度為 li 被訪問概率為 pi 如果交換第 i 個和第 i 1 個檔案,則平均長度一定不會變小,交換後,訪問原第 i 個檔案時,要多訪問乙個原第 i 1檔案,長度增加了 pi li 1 而訪問原第 i 1 個檔案時,要少訪問乙個原第 i 個檔案...

《程式設計之美》讀書筆記

程式設計之美 讀書筆記 一 中國象棋將帥問題 程式設計之美 讀書筆記 二 求二進位制數中1的個數 擴充套件問題 程式設計之美 讀書筆記 三 一摞烙餅的排序問題 程式設計之美 讀書筆記 四 買書折扣問題的貪心解法 程式設計之美 讀書筆記 五 飲料 問題 程式設計之美 讀書筆記 六 連連看遊戲設計 程式...

《程式設計之美》讀書筆記集錦

程式設計之美 讀書筆記 一 中國象棋將帥問題 程式設計之美 讀書筆記 二 求二進位制數中1的個數 擴充套件問題 程式設計之美 讀書筆記 三 一摞烙餅的排序問題 程式設計之美 讀書筆記 四 買書折扣問題的貪心解法 程式設計之美 讀書筆記 五 飲料 問題 程式設計之美 讀書筆記 六 連連看遊戲設計 程式...