自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

python學(xué)習(xí)之路——python切片模擬LRU算法

大數(shù)據(jù) 算法
LRU算法常用于頁(yè)面置換算法中。當(dāng)我們新要訪問(wèn)的頁(yè)面不在主存中時(shí),就將最近最少使用的頁(yè)面移除主存,將新的頁(yè)面存入主存。

 

問(wèn)題描述:一進(jìn)程剛獲得三個(gè)主存塊的使用權(quán),若該進(jìn)程訪問(wèn)頁(yè)面的次序是1,2,3,4,1,2,5,1,2,3,4,5。當(dāng)采用LRU算法時(shí),發(fā)生的缺頁(yè)次數(shù)是多少?

Hint:LRU(Least Recently Used)意思是近期最少使用。

這個(gè)算法常用于頁(yè)面置換算法中。當(dāng)我們新要訪問(wèn)的頁(yè)面不在主存中時(shí),就將最近最少使用的頁(yè)面移除主存,將新的頁(yè)面存入主存。可以用一個(gè)隊(duì)列來(lái)模擬這個(gè)算法:目前訪問(wèn)的網(wǎng)頁(yè)在隊(duì)列的尾部,最近最少訪問(wèn)的網(wǎng)頁(yè)在隊(duì)列的頭部,如果新訪問(wèn)的網(wǎng)頁(yè)在隊(duì)列中就把這個(gè)頁(yè)面移到隊(duì)尾,其他頁(yè)面依次前移;如果新訪問(wèn)的網(wǎng)頁(yè)不在隊(duì)列中那就把隊(duì)頭出隊(duì)然后其他頁(yè)面前移,新要訪問(wèn)的頁(yè)面入隊(duì)。所謂缺頁(yè)就是指在主存中沒(méi)有需要訪問(wèn)的頁(yè)面。

用python模擬LRU算法:

  1. List=[1,2,3,4,1,2,5,1,2,3,4,5]  #此列表中存放將要訪問(wèn)的頁(yè)面 
  2. a_list=[]                       #此列表用來(lái)模擬LRU算法中的主存 最多存放3個(gè)數(shù) 
  3. count=0                         #記錄缺頁(yè)數(shù) 
  4. tag=1                           #標(biāo)記是否缺頁(yè) 
  5. for i in List:                  #將要訪問(wèn)的列表元素進(jìn)行循環(huán) 
  6.     if i not in a_list:         #如果要訪問(wèn)的元素不在a_list中 即為缺頁(yè) 
  7.         count+=1 
  8.         tag=1 
  9.         if len(a_list)<3:                   #如果a_list中沒(méi)有放滿 
  10.             a_list[len(a_list)::]=[i]       #等價(jià)于a_list.append(i)將元素i添加到a_list尾部 
  11.         else:                               #如果列表滿了 
  12.             a_list[:2:]=a_list[1::]         #利用切片,將前兩個(gè)元素替換為后兩個(gè)元素,列表首元素出列表的功能 
  13.             a_list[2::]=[i]                 #將i元素放移動(dòng)后的到列表*** 
  14.     else:                                   #i元素在列表中 
  15.         tag=0 
  16.         a_list[a_list.index(i)::]=a_list[a_list.index(i)+1::]#將i開(kāi)始和元素后面的元素替換為i元素后面的元素 
  17.         a_list[len(a_list)::]=[i]                            #將i元素插入到移動(dòng)后的列表后面 
  18.     print(a_list,"缺頁(yè)了"if tag==1 else "不缺頁(yè)"
  19. print("缺頁(yè)數(shù)為:",count

運(yùn)算結(jié)果:

責(zé)任編輯:武曉燕 來(lái)源: 36大數(shù)據(jù)
相關(guān)推薦

2011-07-26 09:32:08

iPhone 模擬器

2020-12-16 15:56:26

機(jī)器學(xué)習(xí)人工智能Python

2021-07-15 14:29:06

LRU算法

2020-05-15 17:05:51

Oracle數(shù)據(jù)庫(kù)LRU算法

2019-12-24 10:32:01

OracleLRU臟塊

2020-09-18 10:31:47

LRU算法數(shù)組

2022-06-17 07:49:14

緩存LRU

2022-05-09 19:59:15

RedisLRU 算法

2021-09-05 18:29:58

Linux內(nèi)存回收

2020-02-19 19:18:02

緩存查詢(xún)速度淘汰算法

2015-07-29 10:31:16

Java緩存算法

2020-10-30 11:30:15

Least Recen

2013-04-16 10:48:04

Python序列

2014-07-28 14:04:26

2021-12-21 06:09:05

Python切片索引

2023-07-06 12:39:14

RedisLRULFU

2022-03-14 08:01:06

LRU算法線程池

2022-02-15 23:38:22

Python機(jī)器學(xué)習(xí)算法

2024-10-14 16:37:25

2020-12-19 10:54:25

機(jī)器學(xué)習(xí)線性回歸算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)