Я понимаю, что алгоритм Stooge сортировки работает следующим образом:время выполнения модифицированного Stooge сортировки Алгоритм
Step 1: If the value at the end is smaller than the value at the start, swap them.
Step 2: If there are 3 or more elements in the list, then:
Stooge sort the initial 2/3 of the list
Stooge sort the final 2/3 of the list
Stooge sort the initial 2/3 of the list again
else: exit the procedure
Я также понимаю, что время выполнения марионетки рода О (п^(срубы 3/Журнал 1.5)).
Из любопытства, какова была бы продолжительность в нотации Big O, если бы мы полностью вытащили Шаг 1 и условие if на шаге 2 (при условии, что размер массива всегда будет делиться на три)?
Если вы удалили шаг 1, время выполнения было бы бесконечным. –
@JohnDeters Как это возможно? Бесконечное время выполнения подразумевает, что алгоритм никогда не заканчивается, таким образом, не работает без шага 1. Я не уверен, почему требуется Шаг 1, поскольку алгоритм сортируется просто с шага 2. –
@JoffreyBaratheon Время выполнения не будет бесконечным, но ничего не закончится. Если вы уроните этот шаг, ничто никогда не поменяется местами. :-) – templatetypedef