首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

访问deque的元素,时间是O(1)吗?解决方案

2012-06-12 
访问deque的元素,时间是O(1)吗?vector的存储是连续的,支持随机访问,O(1)的访问效率。但是deque的实现C++标

访问deque的元素,时间是O(1)吗?
vector的存储是连续的,支持随机访问,O(1)的访问效率。

但是deque的实现C++标准有没有规定是如何存储的? 如果是分片连续存储的话,那么访问效率就不是O(1)了啊。

这个有没有确定的说法?

[解决办法]
deque不是随机的, 因为是chunk list,每个chunk是一个大结构体,next,prev指向下一个和后一个chunk,但绝对不是挨个元素遍历,是逐个chunk的跳过去,最后在某个chunk内O(1)。
[解决办法]
http://en.cppreference.com/w/cpp/container/deque
访问效率是0(1)

热点排行