Что было бы худшим временем выполнения моего алгоритма

Самый простой способ - использовать shutil.make_archive . Он поддерживает как форматы zip, так и tar.

import shutil
shutil.make_archive(output_filename, 'zip', dir_name)

Если вам нужно сделать что-то более сложное, чем застегнуть весь каталог (например, пропустить определенные файлы), вам нужно будет вставить в модуль zipfile как предлагали другие.

1
задан Cameron Clarke 4 March 2019 в 22:27
поделиться

2 ответа

Да, это действительно будет O (n). В худшем случае все ваши if прекратят работу, и будет выполнен последний оператор каждого блока if. Итак, каждая итерация выполняет 6 операторов. Тем не менее, ваша временная сложность будет O (6n), который по-прежнему O (n).

0
ответ дан Himanshu Sharma 4 March 2019 в 22:27
поделиться

Да, наихудшая, а также наилучшая и средняя временная сложность этой функции составляет O (n) , поскольку она повторяется ровно столько же раз, сколько и размер входных данных. список, независимо от того, какие условия выполняются, без дополнительных вложений внутри.

0
ответ дан blhsing 4 March 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: