我今天正在阅读一些文本,它指出,由于std::deque确实具有随机访问迭代器,因此其项检索速率的时间复杂度为O(1)。虽然我同意项目检索的时间复杂度为O(1)的事实,但是使用随机访问迭代器与它有什么关系?
最佳答案
RandomAccessIterator
概念要求必须在恒定时间内实施+
和-
操作:
从[iterator.concept.random.access]:
这意味着,任何实现随机访问迭代器的符合标准的容器都必须提供恒定时间的元素检索。
我今天正在阅读一些文本,它指出,由于std::deque确实具有随机访问迭代器,因此其项检索速率的时间复杂度为O(1)。虽然我同意项目检索的时间复杂度为O(1)的事实,但是使用随机访问迭代器与它有什么关系?
最佳答案
RandomAccessIterator
概念要求必须在恒定时间内实施+
和-
操作:
从[iterator.concept.random.access]:
这意味着,任何实现随机访问迭代器的符合标准的容器都必须提供恒定时间的元素检索。