W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Sorted Set的實(shí)現(xiàn)是hash table(element->score, 用于實(shí)現(xiàn)ZScore及判斷element是否在集合內(nèi)),和skip list(score->element,按score排序)的混合體。 skip list有點(diǎn)像平衡二叉樹(shù)那樣,不同范圍的score被分成一層一層,每層是一個(gè)按score排序的鏈表。
ZAdd/ZRem是O(log(N)),ZRangeByScore/ZRemRangeByScore是O(log(N)+M),N是Set大小,M是結(jié)果/操作元素的個(gè)數(shù)??梢?jiàn),原本可能很大的N被很關(guān)鍵的Log了一下,1000萬(wàn)大小的Set,復(fù)雜度也只是幾十不到。當(dāng)然,如果一次命中很多元素M很大那誰(shuí)也沒(méi)辦法了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: