文字列を再帰的に指定して部分文字列を作成する関数があります。これの複雑さを教えてください。n の入力が与えられた場合、2 *n の部分文字列が存在する可能性があるため、 O(2* n) だと思いますが、100% 確実ではありません。
コードは次のとおりです。
def build_substrings(string):
""" Returns all subsets that can be formed with letters in string. """
result = []
if len(string) == 1:
result.append(string)
else:
for substring in build_substrings(string[:-1]):
result.append(substring)
substring = substring + string[-1]
result.append(substring)
result.append(string[-1])
return result
私は実際に、新しいトピックに値しないと思うより多くの質問をしています. Pythonで辞書のキーを検索することの複雑さは何だろうと思っていました(辞書の項目の場合)? 助けてくれてありがとう!