【发布时间】:2020-08-10 01:17:14
【问题描述】:
我已经阅读了STL deque accessing by index is O(1)? 和how does random access of an element in deque gives constant time complexity?,但我仍然不清楚为什么保证 O(1) 随机访问。
我了解 STL 中的双端队列是作为指向连续 固定 大小块的指针数组实现的。所以我理解在固定大小的块上循环是 O(1),因为它与双端队列的大小无关。但是要找到要循环的块,我们需要循环一个指针数组,我不认为这是一个 O(1) 操作,因为指针数组与双端队列的大小成正比?
例如,如果我们有一个n 大小的双端队列,并且固定的块大小是m,我们的指针数组将是大小上限(n/m),即 O(n)?我是不是误会了什么?
【问题讨论】:
标签: c++ deque random-access