具有未知值时的时间复杂性
Time complexity while with unknown value
我有一个大小未知的队列queue<int> q;
这个while循环的时间复杂度是多少?
while(!q.empty())
{
count<<q.front();
q.pop();
}
我不知道q的大小,我怎么知道时间的复杂性?
时间复杂度是由一个变量决定的,在你的情况下,这是q中元素的数量,它被称为n。所以你需要访问每个元素一次,并且只访问一次,所以你得到了O(n(。
std::queue::front
复杂性
恒定
std::queue::pop
复杂性
等于Container::pop_front的复杂性。
std::queue的默认容器是std:dequeue,因此
std::deque::pop_front
复杂性
恒定
想想你重复这些操作多少次,你就会得到你的复杂性。
相关文章:
- 具有未知值时的时间复杂性
- 使用堆查找第K个最大元素的时间复杂性
- 解决这个问题的时间复杂性是多少
- 如果你有一个固定大小的数组,你需要遍历它!n次,使用二进制搜索如何改变时间复杂性
- 对于像C++这样的现实世界语言,时间复杂性有什么一致的定义吗
- 两个嵌套循环的运行时间复杂性:二次型还是线性
- 是平衡二进制树上预购和DFS的时间复杂性
- 带有多个内部回路的循环的时间复杂性
- 列表STL的时间复杂性在一段时间内进行排序
- O(2M N)和O(kN)的时间复杂性
- 映射向量的时间复杂性是多少
- 时间复杂性差异以及如何
- 递归最糟糕的情况时间复杂性
- 可传递值影响递归算法的渐近时间复杂性
- 程序的时间复杂性确定两个字符串是否彼此排列
- 为什么此代码O(n)的时间复杂性
- next_perMuart的时间复杂性在大o符号中
- C 中使用了哪种类型的堆以及STD :: Pirstity_queue的时间复杂性
- 带有两个递归调用的递归算法的时间复杂性
- 是以下片段O(n^2)的时间复杂性