日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

磁带最优存储问题java实现_磁带的最优存储问题(贪心选择)

發(fā)布時(shí)間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 磁带最优存储问题java实现_磁带的最优存储问题(贪心选择) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

算法設(shè)計(jì)

n個(gè)程序的平均讀取時(shí)間:(貪心策略)

在該題目中,要考慮綜合因素:長(zhǎng)度和讀取概率。要求n個(gè)程序的平均讀取時(shí)間最短。按照貪心策略,則每個(gè)程序的讀取時(shí)間都應(yīng)該最短。故:

(1)計(jì)算每個(gè)程序的長(zhǎng)度和讀取概率的乘積。

(2)對(duì)(1)產(chǎn)生的結(jié)果進(jìn)行排序。

(3)當(dāng)訪問(wèn)次序確定時(shí),求出每個(gè)程序的訪問(wèn)時(shí)間。

(4)求出n個(gè)程序的平均讀取時(shí)間。

程序源代碼如下

/*

length[n] ? 程序長(zhǎng)度

length1[n] ?每個(gè)程序的長(zhǎng)度和概率的乘積

gailv[n] ? ?程序的概率

gailv1[n] ? 程序計(jì)算后的概率

sum[n] ? ? ?讀取每個(gè)程序所需的時(shí)間

*/

# include

# include

# define N 10

//計(jì)算每個(gè)文件被讀取的概率

int calculate(int n,int gailv[n],double gailv1[n])

{

int sum=0;

int i;

for(i=0;i

{

sum+=gailv[i];

}

for(i=0;i

{

gailv1[i]=(double)gailv[i]/sum;

}

return 0;

}

//計(jì)算文件和讀取概率的乘積

int multiple(int n,double gailv1[n],int length[n],double length1[n])

{

int i;

for(i=0;i

{

length1[i]=((double)gailv1[i])*((double)length[i]);

}

return 0;

}

//對(duì)乘積進(jìn)行排序

int swap(int n,double length1[n])

{

int i,j;

for(i=0;i

{

for(j=i+1;j

{

if(length1[i]>length1[j])

{

double temp;

temp=length1[i];

length1[i]=length1[j];

length1[j]=temp;

}

}

}

return 0;

}

//讀取每個(gè)程序所用的時(shí)間

int he(int n,double length1[n],double sum[n])

{

int i;

for(i=0;i

{

double t;

t+=length1[i];

sum[i]=t;

}

return 0;

}

//讀取所有程序的平均時(shí)間

int Min_time(int n,double sum[n])

{

int i;

double min_time=0.0;

for(i=0;i

{

min_time+=sum[i];

}

printf(“最小平均讀取時(shí)間為:\n”);

printf(“%f\n”,min_time);

return 0;

}

總結(jié)

以上是生活随笔為你收集整理的磁带最优存储问题java实现_磁带的最优存储问题(贪心选择)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。