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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三、链表(Linked List)(原理)

發布時間:2025/3/19 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三、链表(Linked List)(原理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

經典的鏈表應用場景:LRU 緩存淘汰算法

緩存是一種提高數據讀取性能的技術,由于緩存的大小有限,當緩存被用滿時,哪些數據應該被清理出去,哪些數據應該被保留?這就需要緩存淘汰策略來決定。

  • 常見的策略有三種:
    • 先進先出策略 FIFO(First In,First Out)
    • 最少使用策略 LFU(Least Frequently Used)
    • 最近最少使用策略 LRU(Least Recently Used)

==》如何用鏈表來實現 LRU 緩存淘汰策略呢? ==》詳見 五 的解答

一、鏈表

鏈表:不需要一塊連續的內存空間,它通過“指針”將一組零散的內存塊串聯起來使用.
內存分布

最常用的鏈表結構:單鏈表、雙向鏈表和循環鏈表

二、單鏈表

1、基本概念


結點(Node):單鏈表的結點結構
鏈表中的每一個數據元素稱為 “結點” ,每個結點都由兩部分組成:數據域 + 指針域。其中,數據域存儲數據元素信息,指針域存儲鏈表的下一個結點的位置信息,是一個指針。

單鏈表:當一個序列中只含有指向它的后繼結點的鏈接時,就稱該鏈表為單鏈表。

  • 非空表(有頭結點):
  • 空表:

頭指針:是指鏈表指向第一個結點的指針,若鏈表有頭結點,則是指向頭結點的指針。頭指針具有標識作用。任何情況下,頭指針都存在,無論鏈表是否為空
頭結點:為了操作的統一和方便(插入/刪除首元結點)設立的,放在首元結點(第一元素結點)之前,其數據域一般無意義(也可以 存放鏈表的長度)。非必需要素。
最后一個結點:最后一個結點指針為“空”(通常用NULL或“^”符號表示),是鏈表的結束標志,表示它沒有后繼結點。

2、查找操作

目標:隨機訪問第 k 個元素 ==》依次遍歷 ==》時間復雜度:O(n)

3、插入操作

插入 x 結點: ==》時間復雜度:O(1)
① x->next = a2 -> next
② a2 -> next = x

4、刪除操作

刪除 a2 結點: ==》時間復雜度:O(1)
① p = a1->next
② a1->next = p->next

三、循環鏈表

循環鏈表:與單鏈表的唯一區別就是最后一個結點的指針指向鏈表的頭結點
優點: 從鏈尾到鏈頭比較方便。當要處理的數據具有環型結構特點時,就特別適合采用循環鏈表。eg: 約瑟夫問題

四、雙向鏈表

雙向鏈表:每個結點不止有一個后繼指針 next 指向后面的結點,還有一個前驅指針 prev 指向前面的結點。
特點:支持雙向遍歷,更具靈活性;O(1) 時間復雜度的情況下前驅結點
結點

2、雙向鏈表的優勢

(1)刪除

刪除的兩種情況:

  • 刪除結點中“值等于某個給定值”的結點
  • 刪除給定指針指向的結點

第一種情況

無論單鏈表還是雙向鏈表,均需要從頭開始遍歷對比,直至找到值等于給定值的結點,然后再執行刪除操作。==》時間復雜度:O(n)

第二種情況

已找到需刪除的結點,但是刪除某個結點 q 需要得到其前驅結點,雙向鏈表可以不用遍歷就得到前驅結點。 ==》時間復雜度:O(1)

(2)有序鏈表的查找操作

對于有序鏈表,雙向鏈表的按值查詢的效率要比單鏈表高一些。具體來說,可以記錄上次查找的位置 p ,每次查找時,根據查詢值與 p 的大小關系,決定向前還是向后查找。

五、設計思想:空間 <-> 時間

  • 當內存足夠時,若追求代碼的執行速度 ==》選擇空間復雜度高、時間復雜度相對較低的算法或者數據結構
  • 當內存比較緊張 ==》時間換空間

鏈表實現LRU緩存淘汰算法:越靠近鏈表尾部的結點是越早之前訪問的

  • 若此數據之前就在緩存鏈表中,遍歷得到該數據所對應的結點,并將其從原來的位置刪除,然后插入到鏈表的頭部。
  • 若此數據沒在緩存鏈表中,具體分為以下兩種情況:
    • 若此時緩存未滿 ==》此結點直接插入到鏈表的頭部;
    • 若此時緩存已滿,則鏈表的最后一個結點刪除,并將新的數據結點插入鏈表的頭部
    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的三、链表(Linked List)(原理)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产刺激对白 | 国产又粗又猛又爽又黄 | 美丽姑娘免费观看在线观看 | 久久青青国产 | 国产国语亲子伦亲子 | 啪啪精品 | 欧州一级片| 日本人jizz| 国产一区二区精品在线观看 | 最近最经典中文mv字幕 | jizz免费视频 | 久久婷婷一区 | 男男做爰猛烈叫床爽爽小说 | 关秀媚三级 | 日韩精品免费一区二区三区 | 又紧又大又爽精品一区二区 | 国产女女做受ⅹxx高潮 | 精品三级av | 东北毛片 | 国产日韩欧美另类 | av午夜在线观看 | xxx国产| 欣赏asian国模裸体pics | 日韩av在线网址 | 中国老头性行为xxxx | 亚洲精品福利在线观看 | 日本αv| 国产精品久久久久久久久毛片 | 亚洲午夜精品一区二区三区 | 黄色国产一区二区 | 亚洲女同女同女同女同女同69 | 日本在线视频www | 精品黑人一区二区三区在线观看 | 亚洲高清视频一区二区 | 免费高清视频在线观看 | 亚洲久久一区二区 | 朝鲜美女黑毛bbw | 婷婷色基地 | 麻豆视频在线观看免费网站 | 精品久久久久久无码人妻 | 久久大 | 久久黄网 | 国产精品一区电影 | 久久精品亚洲精品国产欧美 | 男人天堂2024| 怡春院在线视频 | 色屁屁www | 九九热精品在线观看 | 一区在线播放 | 成人深夜在线观看 | 羞羞成人| 国产三级按摩推拿按摩 | 97成人精品视频在线观看 | 东京热一本视频一区 | 国产女人精品视频 | 国产一区二区三区观看 | av东方在线| 亚洲男人天堂网址 | 日皮毛片| 国产精品福利小视频 | 女人性做爰24姿势视频 | 欧美精品久久久久性色 | 久久香蕉国产 | 国内国产精品天干天干 | 国产欧美视频在线观看 | 欧美片 | 久草免费在线视频 | 成人在线网 | 91日韩一区二区 | 羽月希奶水一区二区三区 | 波多野结衣中文一区 | 欧美高清视频在线观看 | 久久在线精品 | 欧美精品123区 | 视频一区日韩 | 欧美激情视频网 | www.插插插.com| 国产精品swag| 91九色高潮 | 九九精品九九 | 麻豆成人网 | 天天看夜夜操 | 老牛影视av老牛影视av | 亚洲欧美校园春色 | 欧美一区网站 | 精品国产乱码久久久久久鸭王1 | 中文字幕在线视频网站 | 欧美午夜视频在线观看 | 亚洲四虎av | 高清视频一区二区三区 | 97精品久久 | 丰满熟妇人妻中文字幕 | 久久久国产精品一区二区三区 | 日本国产在线 | youjizz国产| 我们的2018在线观看免费高清 | 日本三级吃奶头添泬 | 高清欧美性猛交xxxx | 国产精品亚洲第一 |