Средняя сложность времени быстрой сортировки и сортировки вставкой - PullRequest
0 голосов
/ 12 декабря 2008

Я считаю, что быстрая сортировка должна выполняться быстрее, чем сортировка вставкой в ​​массиве unorderd int среднего размера. Я реализовал оба алгоритма в Java, и я заметил, что быстрая сортировка значительно медленнее, чем сортировка вставки.

У меня есть теория: quiksort работает медленнее, потому что он рекурсивный, и вызов, который он выполняет для собственной сигнатуры метода, довольно медленный в JVM, поэтому мой таймер дает намного более высокие показания, чем я ожидал, тогда как вставка не рекурсивная и вся эта работа выполняется в рамках одного метода, поэтому JVM не нужно выполнять дополнительную работу? amirite

Ответы [ 11 ]

0 голосов
/ 12 декабря 2008

Самые быстрые реализации быстрой сортировки используют зацикливание вместо рекурсии. Рекурсия обычно не очень быстрая.

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