You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中字符串拼接函数的时间复杂度及O(n+m)合理性咨询

Python字符串拼接函数的时间复杂度分析

先看你给出的函数代码:

def concat_strings(string1, string2):
    return string1 + " " + string2

这个函数的时间复杂度确实是O(n + m),其中n为string1的长度,m为string2的长度。

原因很直接:Python中的字符串是不可变类型,每次用+拼接字符串时,都需要创建新的字符串对象,并把原有字符串的所有字符复制到新内存空间中。这里的string1 + " " + string2会分两步执行:

  • 第一步:把string1和空格拼接,需要复制n + 1个字符;
  • 第二步:把第一步得到的临时字符串和string2拼接,需要复制(n + 1) + m个字符。

总的字符复制操作次数是(n+1) + (n+1+m),化简后是2n + m + 2,忽略常数项和低阶项,时间复杂度就是O(n + m)。

内容的提问来源于stack exchange,提问作者user19245296

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:35:30