我已经读过跳过列表的插入时间复杂度是(log n)的顺序,具有非常高的概率,但在最坏的情况下是O(n)。但是在https://redis.io/commands/zadd读取redis zadd的文档时它告诉我:添加的每个项目的O(log(N)),其中N是有序集合中元素的数量。
如果redis使用跳过列表,那么在最坏的情况下zadd应该是O(n),不是吗?
ps:抱歉,我之前发布了同样的问题,但没有得到任何回复。 删除并重新创建。
答案 0 :(得分:0)
Redis'skiplist
的实施是对 William Pugh 的论文的修改。因此,在最坏的情况下,时间复杂度为O(n)
。 ZADD
的 AVERAGE 时间复杂度为O(log(n))
。