貪心演算法解磁碟檔案最優儲存問題 演算法解題報告

2021-04-22 20:21:36 字數 633 閱讀 9219

設磁碟上有n個檔案f1,f2,…,fn,每個檔案占用磁碟上的1個磁軌。這n個檔案的檢索概率分別是p1,p2,…,pn,且 =1。磁頭從當前磁軌移到被檢資訊磁軌所需的時間可用這2個磁軌之間的徑向距離來度量。如果檔案fi存放在第i道上,1≦i≦n,則檢索這n個檔案的期望時間是對於所有的i

要求:輸入:第1行是正整數n,表示檔案個數。第2行有n個正整數ai,表示檔案的檢索概率。

輸出:計算出的最小期望檢索時間。

思路:

先將n個檔案按訪問概率從大到小排序,概率最大的應該放中間,次大的和次次大的放最大的兩邊,再小一點的再放在次大的左邊和次次大的右邊

具體演算法:

將檔案按概率排序後,用乙個新的陣列代表各檔案存放位置,先確定mid值,再依次確定mid兩邊,mid兩邊的兩邊的各檔案,不斷的迴圈,最後各檔案就再新的陣列裡放好了位置

c++**

#include 

#include 

int cmp (const

void *a , const

void *b)    

double greedy(double a,int n)    

return exp/sum/sum;   

}   

int main()   

磁碟最優儲存問題 貪心演算法

設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是li,1 i n。這n 個程式的讀取概率分別是p1,p2,pn,且pi p2 pn 1。如果將這n 個程式按 i1,i2,in 的次序存放,則讀取程式ir 所需的時間tr c pi1 li2 pi2 li2 pir lir 這n 個程...

磁碟最優儲存問題 貪心演算法

設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是li,1 i n。這n 個程式的讀取概率分別是p1,p2,pn,且pi p2 pn 1。如果將這n 個程式按 i1,i2,in 的次序存放,則讀取程式ir 所需的時間tr c pi1 li2 pi2 li2 pir lir 這n 個程...

用貪心演算法求最優解

題目 有 m 元錢,n 種物品 每種物品有 j 磅,總價值 f 元,可以 使用 0 到 f 的任意 購買相應磅的物品,例如使用 0.3f 元,可以購買 0.3j 磅物 品。要求輸出用 m 元錢最多能買到多少磅物品 演算法思想 每次都買價效比最高的產品,價效比的計算公式為 重量 價效比的含義為用最少的...