您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中字符串连接的时间复杂度

Python中字符串连接的时间复杂度

是的,在您的情况下* 1字符串连接要求复制所有字符,这是一个O(N + M)操作(其中N和M是输入字符串的大小)。因此,相同单词的M个追加将趋于O(M ^ 2)时间。

您可以使用str.join()以下方法避免这种二次行为:

word = ''.join(list_of_words)

仅需O(N)(其中N是输出的总长度)。或者,如果要重复单个字符,则可以使用:

word = m * char

您是在先放置字符,但先构建一个列表,然后反转它(或使用collections.deque()对象来获得O(1)的前举行为)仍然是O(n)的复杂性,在这里容易击败您的O(N ^ 2)选择。

python 2022/1/1 18:38:50 有249人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶