(五)LRU Cache資料結構簡介

2022-09-12 15:54:35 字數 282 閱讀 3795

參考:

lru的典型實現是hash map + doubly linked list, 雙向鍊錶用於儲存資料結點,並且它是按照結點最近被使用的時間來儲存的。 如果乙個結點被訪問了, 我們有理由相信它在接下來的一段時間被訪問的概率要大於其它結點。於是, 我們把它放到雙向鍊錶的頭部。當我們往雙向煉表裡插入乙個結點, 我們也有可能很快就會使用到它,同樣把它插入到頭部。

如果沒有雜湊表,我們要訪問某個結點,就需要順序地乙個個找, 時間複雜度是o(n)。使用雜湊表可以讓我們在o(1)的時間找到想要訪問的結點, 或者返回未找到.

LRU Cache資料結構簡介

lru是least recently used的縮寫,意思是最近最少使用,它是一種cache替換演算法。什麼是cache?狹義的cache指的是位於cpu和主存間的快速ram,通常它不像系統主存那樣使用dram技術,而使用昂貴但較快速的sram技術。廣義上的cache指的是位於速度相差較大的兩種硬體...

資料結構 簡介

資料元素 是組成資料有一定意義的基本單位,比如乙個人的基本資訊包括姓名 性別 年齡等 資料物件 是性質相同的資料元素的集合,比如正整數資料物件n 資料結構 是資料的組織形式,即資料元素之間存在的一種或幾種特定關係 資料型別 是用來刻畫一組性質相同的資料及其上的操作。可以分為原子型別和結構型別。抽象資...

資料結構簡介

資料結構 是指相互之間存在一種或多種特定關係的 資料元素 的集合。聽起來是不是很抽象,簡單理解 資料結構就是描述物件間邏輯關係的學科。比如 佇列就是一種先進先出的邏輯結構,棧是一種先進後出的邏輯結構,家譜是一種樹形的邏輯結構!初學資料結構的時候很不理解為什麼有 棧 這個東西 佇列很容易理解 無論購物...