Python 学習パス - Python スライス シミュレーション LRU アルゴリズム

Python 学習パス - Python スライス シミュレーション LRU アルゴリズム

問題の説明: プロセスが 3 つのメイン メモリ ブロックを使用する権利を取得しました。プロセスが 1、2、3、4、1、2、5、1、2、3、4、5 の順序でページにアクセスするとします。 LRU アルゴリズムを使用するとページフォールトはいくつ発生しますか?

ヒント: LRU (Least Recently Used) は、最も最近使用されていないことを意味します。

このアルゴリズムは、ページ置換アルゴリズムでよく使用されます。アクセスしたい新しいページがメインメモリにない場合は、最も最近使用されていないページがメインメモリから削除され、新しいページがメインメモリに保存されます。このアルゴリズムはキューでシミュレートできます。現在アクセスしている Web ページはキューの末尾にあり、最も最近アクセスされていない Web ページはキューの先頭にあります。新しくアクセスした Web ページがキューにある場合、このページはキューの末尾に移動され、他のページは順番に前方に移動します。新しくアクセスした Web ページがキューにない場合は、キューの先頭が削除され、他のページが前方に移動され、新しくアクセスしたページがキューに追加されます。ページ フォールトとは、メイン メモリ内にアクセスする必要があるページが存在しないことを意味します。

Python を使用して LRU アルゴリズムをシミュレートします。

  1. List=[1,2,3,4,1,2,5,1,2,3,4,5] #このリストには訪問するページが格納されます
  2. a_list=[] #このリストはLRUアルゴリズムのメインメモリをシミュレートするために使用され、最大3つの数値を格納できます
  3. count =0 #欠落しているページ数を記録する
  4. tag=1 #ページが欠落しているかどうかをマークする
  5. for i in List: #アクセスするリスト要素をループする
  6. もし私  in a_list: #アクセスする要素がa_listにない場合はページフォールトです
  7. カウント+=1
  8. タグ=1
  9. if len(a_list)<3: #a_listがいっぱいでない場合
  10. a_list[len(a_list)::]=[i] #a_list.append(i) と同等で、要素 i を a_list の末尾に追加します
  11. else : #リストがいっぱいの場合
  12. a_list[:2:]=a_list[1::] #スライスを使用して最初の2つの要素を最後の2つの要素に置き換え、リストから最初の要素を削除する関数
  13. a_list[2::]=[i] #移動後にi番目の要素をリストに入れる***
  14. そうでない場合: #i 要素がリスト内にある
  15. タグ=0
  16. a_list[ a_list.index (i)::]=a_list[a_list.index ( i)+1::]#要素 i 以降の要素を要素 i 以降の要素に置き換えます
  17. a_list[len(a_list)::]=[i] #移動したリストの後にi番目の要素を挿入する
  18. print(a_list, "ページがありません" if tag==1 else   「欠落ページはありません
  19. print( "欠落しているページ数:" , count )

操作結果:

<<:  ソゴウ・チャン・ボー:インテリジェントな運用とメンテナンスは代替ではなくアップグレードです

>>:  AIのダークサイドを暴く:人工知能は人間に取って代わるが、機械をどのように学習するかは分からない

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

2021 年のイノベーションを形作る 5 つのテクノロジー トレンド

近い将来、世界はテクノロジーとイノベーションのブームを迎えるでしょう。私たちは世界中で大規模なデジタ...

...

もう学べないの? MIT CSおよびEEオンラインコースが利用可能になりました

[[320783]]流行病のため、MIT学長は3月初旬に残りの授業をすべてオンラインに移行するという...

...

...

Java プログラミング スキル - データ構造とアルゴリズム「ハフマン コーディング」

基本的な紹介ハフマン符号化は、(ハフマンコーディング) とも訳されます。ハフマン符号化は、ハフマンコ...

畳み込みニューラルネットワークの基礎を1つの記事で学びます。

今日は畳み込みニューラル ネットワークについてお話します。畳み込みニューラル ネットワークは、主に、...

...

次世代のサイバー脅威はAIから生まれる

ボストン コンサルティング グループ (BCG) によると、米国と日本のサイバーセキュリティ専門家の...

GPUベースの人工知能と機械学習アプリケーション

[51CTO.com クイック翻訳]今日、グラフィックス プロセッシング ユニット (GPU) は、...

顔認識の専門家、王国天氏:人工知能、機械学習、機械視覚とは何ですか?

昨今、人工知能はますます話題になり、応用されていますが、人工知能、機械学習、マシンビジョンとは一体何...

顔認識カメラはあなたの顔を盗みますが、なぜ「精密マーケティング」に使われるのでしょうか?

今年3月15日にCCTVで暴露された事件は、オフラインのショッピング施設に入ったことのある人全員に衝...

あなたの「読書」は他の人に読まれている。清華大学の研究者はWeChatの「Look」からこれらのパターンを発見した。

WeChatの「Take a Look」アプリの最もアクティブなユーザーは実は私たちの両親であり、...

機械学習でデータを実用的な洞察に変換する

ビジネスが今やデータ主導型になっていることは誰もが知っています。データ収集の増加に伴い、分析はビジネ...

旅の途中で「おもしろさ」が爆発!絵文字ジェネレーター、マスクがプリンセスに変身 | チュートリアル付き

Midjourney 5.2 はちょうど 1 週間前にリリースされ、さらに大きなアップデートが行われ...