redis跳躍表

最近在閱讀redis設計與實現,關於redis數據結構zset的一種底層實現跳躍表一直沒有太理解,因此在搜了一下資料,終於搞懂了它的設計思路,記錄一下。redis

參考連接:https://mp.weixin.qq.com/s?src=11&timestamp=1553915878&ver=1515&signature=SuSdA-Ka7Bs7CzSnNHgHFR7DkFFibGdRUui-FkuSRn2OJOkn6uvGznFMheSfoxaSHYlcgfGnBQ9imQdTAg5hiaqp2pq2Cn6LWIjN-ZonEvUwLrWwjMxs1WjTFx1A6Wkb&new=1數組

跳躍表(英文名:Skip List),於 1990 年 William Pugh 發明,是一個能夠在有序元素中實現快速查詢的數據結構,其插入,查找,刪除操做的平均效率都爲 O(logn),當須要實現有序列表時,若是使用數組,查找是很快速的,可是插入、刪除須要移動大量的元素,成本太大;若是使用鏈表,雖然插入、刪除很方便,可是查詢確實O(n)的,當數據量比較大時,這個效率是不能接受的。跳躍表就是綜合了數組和鏈表的特色,使用空間換時間的方法,提高了查詢的效率。數據結構

相關文章
相關標籤/搜索