Python将列表转换为set,大O.

时间:2015-01-07 17:16:27

标签: python python-3.x set big-o asymptotic-complexity

并感谢您的帮助

words = [....#Big list of words]
words_set = set(words)

当n = len(单词)时,我很难确定集合(单词)的复杂程度。 它是O(n),因为它在列表的所有项目上移动,或者当l是单个字长时,是O(l(n-l))? 感谢帮助!如果WC和BC之间也存在差异。

编辑:不要小心O(l(n-l))重复子串大O的错误。

1 个答案:

答案 0 :(得分:1)

我不理解您的第二个选项,但迭代列表是O(n),您必须迭代列表以将其转换为集合。对每个元素的任何操作 - 例如散列 - 都是一个常数因子,它由迭代的线性时间决定。