作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我使用 std::map 实现为红黑树,时间复杂度为 O(log(N)) 进行访问(根据本网站:http://bigocheatsheet.com/)。如果我堆叠这些容器,我如何计算大 O。
例如map<int, map<int, int>>
.访问最里面 map 的大O是什么?
最佳答案
在这种情况下,您只需要总结复杂性,
map<int, map<int, int>> data;
const auto& lookup = data[5]; // here you spend O(logn)
int value lookup2 = lookup[3]; // here you spend O(logn)
所以它是 O(logn) + O(logn) = O(klogn) = O(logn).
在 map<int, map<int, map<int, map<int, ..
的情况下也是 O(logn)等等,因为嵌套级别的数量不依赖于 N
但它们始终不变。
关于c++ - 堆放容器时的大O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267776/
我正在尝试堆叠盒子。如果我垂直开始,我知道该怎么做,比如从顶部开始然后向下。我的问题是,我该怎么做横向? Here is how i did it vertically Here is how i t
我是一名优秀的程序员,十分优秀!