来自redis文档:
ZPOPMIN键[count] 自5.0.0起可用。
时间复杂度:O(log(N)* M),其中N是排序集中的元素数,而M是弹出的元素数。
删除并返回最多存储在键存储的排序集中得分最低的成员。
所以,我的问题是,如果列表已排序,为什么要使用log n,为什么不使用O(1)?
答案 0 :(得分:0)
按得分访问排序集中的任何元素的时间复杂度为O(log(N)),因此命令的复杂度。
答案 1 :(得分:0)
如果对 列表 进行了排序,为什么需要log n,为什么不使用O(1)?
如果使用列表实现排序集,则实际上您可以在每个元素的O(1)时间中完成此操作。但是,排序后的集合是implemented(部分)具有skip list数据结构,该结构在O(log(N))时间内进行插入和删除。