C++字符串追加的时间复杂度 - 字符串 1 += 字符串 2;

Time Complexity of C++ string append - string1 += string2;

本文关键字:字符串 追加 时间复杂度 C++      更新时间:2023-10-16

鉴于 s1 是长度为 l1 的字符串,s2 是长度为 l2 的字符串,以下代码段的时间复杂度是多少?

s1 += s2;

我的时序测试显示O(l2(。但是,C++规范对此不是很清楚。

cpppreferences非常具体。

operator +=的时间复杂度在右侧操作数的大小上是线性的。

即使容量为 10000,在第 10000 次插入时,也会重新分配当前容量的两倍,仍然收敛到 O(n(