[Redis6]跳跃表(跳表)
跳躍表(跳表)
簡(jiǎn)介
有序集合在生活中比較常見(jiàn),例如根據(jù)成績(jī)對(duì)學(xué)生排名,根據(jù)得分對(duì)玩家排名等。對(duì)于有序集合的底層實(shí)現(xiàn),可以用數(shù)組、平衡樹(shù)、鏈表等。數(shù)組不便元素的插入、刪除;平衡樹(shù)或紅黑樹(shù)雖然效率高但結(jié)構(gòu)復(fù)雜;鏈表查詢需要遍歷所有效率低。Redis采用的是跳躍表。跳躍表效率堪比紅黑樹(shù),實(shí)現(xiàn)遠(yuǎn)比紅黑樹(shù)簡(jiǎn)單。
實(shí)例
對(duì)比有序鏈表和跳躍表,從鏈表中查詢出51
- 有序鏈表
要查找值為51的元素,需要從第一個(gè)元素開(kāi)始依次查找、比較才能找到。共需要6次比較。
- 跳躍表
從第2層開(kāi)始,1節(jié)點(diǎn)比51節(jié)點(diǎn)小,向后比較。
21節(jié)點(diǎn)比51節(jié)點(diǎn)小,繼續(xù)向后比較,后面就是NULL了,所以從21節(jié)點(diǎn)向下到第1層
在第1層,41節(jié)點(diǎn)比51節(jié)點(diǎn)小,繼續(xù)向后,61節(jié)點(diǎn)比51節(jié)點(diǎn)大,所以從41向下
在第0層,51節(jié)點(diǎn)為要查找的節(jié)點(diǎn),節(jié)點(diǎn)被找到,共查找4次。
從此可以看出跳躍表比有序鏈表效率要高
總結(jié)
以上是生活随笔為你收集整理的[Redis6]跳跃表(跳表)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎样在手机美团app上修改头像?
- 下一篇: [Redis6]配置文件详解