數據結構-常用知識點

實戰

整型數組長度爲n,內部有一個元素的出現次數大於n>>1,請設計一個算法求出這個元素(要求時間複雜度O(n),空間複雜度O(1))

鏈表

單向鏈表 O(n)
雙向鏈表 O(1)

雙向鏈表

1.添加元素
頭插法:將右邊固定,左邊頭部新增元素。
尾插法:將左邊固定,右邊頭部新增元素。

2.應用場景。
實際應用LRU ,Java中的 「 Mybatis 」,iOS中的 「YYCache」與「Lottie」。
鏈表實現LRU:
如果緩存在鏈表中,遍歷得到該數據所在的結點,並將其從原來的位置刪除,通過頭插法插到鏈頭。
如果沒緩存,再判斷緩存是否未滿,未滿就直接將它插到鏈頭,已滿就把鏈尾的結點刪除,將新數據插到鏈頭。

AB測試,灰度測試。轉化率優化,廣告優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章