Redis-數(shù)據(jù)結(jié)構(gòu)-跳躍表

跳躍表(skiplist)

????????跳躍表是一種有序數(shù)據(jù)結(jié)構(gòu),通過在每個節(jié)點中維護多個指向其他節(jié)點的指針,達到快速訪問節(jié)點的目的。

查找算法復雜度:平均O(logN)、最壞O(N)

1、結(jié)構(gòu)及實現(xiàn)

1.1跳躍表

header:?指向表頭節(jié)點的指針

tail:?指向表尾節(jié)點的指針

level:?跳躍表內(nèi)層數(shù)最大的節(jié)點的層數(shù)(不包含表頭節(jié)點層數(shù))

length:?跳躍表的長度,即跳躍表目前包含的節(jié)點數(shù)量(不包含表頭節(jié)點)


1.2跳躍表節(jié)點

obj:?成員對象

score:?分值,跳躍表中,節(jié)點按各自保存的分值從小到大排列

backward:?后退指針,指向當前節(jié)點的前一個節(jié)點,用于從表尾向表頭遍歷

level:??

? ? forward:前進指針,用于訪問位于表尾方向的其他節(jié)點

? ? span:跨度,記錄前進指針所指向的節(jié)點和當前節(jié)點的距離

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容