C++字符串追加的时间复杂度 - 字符串 1 += 字符串 2;
Time Complexity of C++ string append - string1 += string2;
鉴于 s1 是长度为 l1 的字符串,s2 是长度为 l2 的字符串,以下代码段的时间复杂度是多少?
s1 += s2;
我的时序测试显示O(l2(。但是,C++规范对此不是很清楚。
cpppreferences非常具体。
operator +=
的时间复杂度在右侧操作数的大小上是线性的。
即使容量为 10000,在第 10000 次插入时,也会重新分配当前容量的两倍,仍然收敛到 O(n(
相关文章:
- 如何在不使用追加函数的情况下追加到字符串C++?
- 字符串的异常行为会追加属性 C++
- 附加作为空字符串的 ostream 可防止进一步追加
- 字符串反向迭代器自追加的持久性
- C++字符串追加的时间复杂度 - 字符串 1 += 字符串 2;
- C++ 字符串追加和运算符 += 之间的区别
- 无法追加到 COM Dll 中的字符串 奇怪的行为
- 将字符串追加到 lpCmdLine WinMain
- 将字符数组追加到字符串 C++
- 追加到字符串的 C++
- 如何在 C# 中将整个数组追加到字符串
- 将字符串追加到宏中的__FUNCTION__
- 限制追加的字符串数
- 将循环的输出追加到 c++ 中字符串向量的元素 已编辑
- 字符串擦除追加
- 应用程序在向字符串追加数据时崩溃
- 有效地向字符串追加或插入可变数量的空格
- 在C中使用strcat向字符串追加字符
- 向vector字符串追加
- C++ 字符串追加上的奇怪行为