Как создать массивы для тестирования Best Case of quickSort? - PullRequest
0 голосов
/ 27 октября 2019

Я хочу проверить временную сложность быстрой сортировки, но я не знаю, как генерировать массивы для тестирования лучшего случая. Моя версия quickSort использует в качестве точки разворота последний элемент массива.

1 Ответ

1 голос
/ 28 октября 2019

Предполагая, что все элементы массива различны, очевидно, вы получите худший случай, если всегда выберете либо самый маленький, либо самый большой элемент. Это даст вам худшую глубину рекурсии и максимальное количество сравнений.

Но в худшем случае вам также понадобится много обменов. Изучите, сколько элементов ваша реализация быстрой сортировки перемещает, когда последний элемент является наименьшим или когда он является самым большим элементом в массиве. Решите, что хуже. Затем расположите числа в вашем массиве так, чтобы последний элемент в каждом массиве всегда был наихудшим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...