国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

python實(shí)現(xiàn)短作業(yè)優(yōu)先算法

2023-05-10 21:48 作者:真是累的很啊  | 我要投稿

由于是靜態(tài)輸入,一次性輸入所有程序,所以該代碼是不能實(shí)際應(yīng)用的,肯定需要一些更改 上一篇文章說了程序調(diào)度算法的核心是排序,先來先調(diào)度算法排序很簡單,只需要按到達(dá)時間這一個參數(shù)排序就行,但短作業(yè)優(yōu)先相對就比較麻煩,因?yàn)榇_定下一個可運(yùn)行的程序是在上一個程序運(yùn)行完成的時候,在此之前是不能確定的,因?yàn)榭赡軙衅渌麅?yōu)先級更高的程序到來,所以具體的確定方式一定要聯(lián)系上一個程序的到達(dá)時間、運(yùn)行時間和在此程序運(yùn)行期間內(nèi)又到達(dá)的新程序和之前以及與上一個程序爭奪cpu的程序的運(yùn)行時間 初級想法是,首先選擇第一個運(yùn)行的程序,在第一個程序運(yùn)行完成后,將所有到達(dá)的程序進(jìn)行按運(yùn)行時間排序,取最小的一個,然后在原列表中刪去改程序,如此循環(huán)直到程序全部運(yùn)行完畢,代碼如下 time=0 def select_program(list_after,time): ??list_select=[i for i in list_after if i[1]<=time] ??while not list_select: ????time +=1 ????list_select=[i for i in list_after if i[1]<=time] ??program=sorted(list_select,key=lambda x:x[2])[0] ??list_after.remove(program) ??time+=program[2] ??return program,list_after,time list_sorted=[] while (len(list_all)): ??program,list_all,time=select_program(list_all,time) ??list_sorted.append(program) 該函數(shù)就是用來選擇上cpu的程序的,用列表把每次運(yùn)行的結(jié)果保存起來,最后該列表就是實(shí)際運(yùn)行順序 未簡化代碼如下 n=int(input()) list_name=input().split() list_time=list(map(int,input().split())) list_servicetime=list(map(int,input().split())) list_all=[] for i in range(n): ??list_all.append((list_name[i],list_time[i],list_servicetime[i])) time=0 def select_program(list_after,time): ??list_select=[i for i in list_after if i[1]<=time] ??while not list_select: ????time +=1 ????list_select=[i for i in list_after if i[1]<=time] ??program=sorted(list_select,key=lambda x:x[2])[0] ??list_after.remove(program) ??time+=program[2] ??return program,list_after,time list_sorted=[] while (len(list_all)): ??program,list_all,time=select_program(list_all,time) ??list_sorted.append(program) # list_sorted=[('A', 0, 4), ('C', 2, 1), ('D', 3, 2), ('B', 1, 3), ('E', 4, 4)] time=list_sorted[0][1] for i in range(len(list_sorted)): ??if list_sorted[i][1]>time: ????completely_time=list_sorted[i][1]+list_sorted[i][2] ??else: ????completely_time=time+list_sorted[i][2] ??twist_time=completely_time-list_sorted[i][1] ??_twist_time=twist_time/list_sorted[i][2] ??list_sorted[i]=list_sorted[i]+(completely_time,twist_time,_twist_time) ??time=completely_time list_sorted=sorted(list_sorted,key=lambda x:x[1]) list_cname=['作 業(yè) 名:','到達(dá)時間:','服務(wù)時間:','完成時間:','周轉(zhuǎn)時間:','帶權(quán)周轉(zhuǎn)時間:'] for i in range(6): ??print(list_cname[i],end='') ??list_output=[] ??for j in range(n): ????if i==5: ??????list_output.append(f'{list_sorted[j][i]:.2f}') ??????continue ????list_output.append(list_sorted[j][i]) ??print(*list_output)

python實(shí)現(xiàn)短作業(yè)優(yōu)先算法的評論 (共 條)

分享到微博請遵守國家法律
武山县| 建水县| 辉南县| 邵阳县| 南木林县| 琼中| 茌平县| 咸丰县| 海城市| 乌兰浩特市| 云浮市| 佛冈县| 新津县| 讷河市| 汽车| 湘潭县| 中江县| 石城县| 且末县| 乌海市| 郓城县| 乌兰县| 长岛县| 太仓市| 图片| 江城| 普格县| 嘉鱼县| 平罗县| 昭觉县| 邯郸市| 仲巴县| 惠东县| 忻州市| 乳山市| 定边县| 皮山县| 南丹县| 阳高县| 洪洞县| 泾阳县|