redis 时间复杂度0(1) ,0(N)什么意思

是这样的,想请问一下,redis 时间复杂度0(1) ,0(N)什么意思
最新回答
鲜奶千层雪

2022-09-23 11:06:07

首先指出 时间复杂度的表示是大写的 欧 而不是 零 , 也就是说是O 不是0;
其次理解的话,可以简单从字面层次理解为 运算该redis函数所需要的时间来表示该函数的复杂程度 。
具体理解的话 你可以看 RESTORE 函数 RESTORE key ttl serialized-value

****查找给定键的复杂度为 O(1) *****
****对键进行反序列化的复杂度为 O(N*M) ,其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。*****
下面是官方解释:

有序集合(sorted set)的反序列化复杂度为 O(N*M*log(N)) ,因为有序集合每次插入的复杂度为 O(log(N)) 。
如果反序列化的对象是比较小的字符串,那么复杂度为 O(1) 。
具体理解参照 redis数据类型的数据结构不同存储方式和原理。(以及默认的数据类型的长度和type和OBJECT ENCODING key的到的该键值的内部表示)。

希望能帮到你,再往深处说,我就是瞎掰了,上面是我自己理解的。
风铃仙子

2022-10-24 21:56:59

首先指出
时间复杂度的表示是大写的

而不是


也就是说是o
不是0;
其次理解的话,可以简单从字面层次理解为
运算该redis函数所需要的时间来表示该函数的复杂程度

具体理解的话
你可以看
restore
函数
restore
key
ttl
serialized-value!
悦心自足

2022-05-15 20:41:20

1 是常数级 n是线性及 你就想象增长方式