Вкратце.
Эффективность алгоритма сортировки зависит от входных данных и задачи.
- сортировка максимальной скорости, которая может быть заархивирована п * журнал (п)
- если данные содержат отсортированный данные суб, максимальная скорость может быть лучше, чем п * журнал (п)
- если данные состоит из дубликаты, сортировка может быть сделаны в ближайшем линейное время
- большинство алгоритмов сортировки имеет свое применение
большинство быстрых вариантов сортировки имеет свой средний случай тоже п * журнал (п), но твой, как правило, быстрее, чем другие не сильно оптимизированные алгоритмы. Это быстрее, когда оно нестабильно, но стабильные варианты лишь на несколько меньше. Основная проблема - худший случай. Лучшее случайное исправление - Introsort.
Большинство вариантов сортировки слияния имеют свой лучший, средний и наихудший случай, привязанный к n * log (n). Он стабилен и относительно прост в масштабировании. НО для этого требуется бинарное дерево (или его эмуляция) относительно размера общих элементов. Основная проблема - память. Лучшее случайное исправление - timsort.
Алгоритмы сортировки изменяются также по размеру ввода. Я могу сделать заявку новичков, что для ввода данных размера 10T нет совпадений для вариантов сортировки слияния.
Я уверен, что ваш интервьюер завтрашнего дня не является таким обычным :) – DVK
Я не знаю, что не так с вопросами, чтобы улучшить ваши общие знания. Особенно, когда вы готовитесь к собеседованию, вы должны атаковать свои районы с наибольшей слабостью, не обращая внимания на лицо или как тупой вы можете смотреть. По моему опыту, те, кто больше всего боится выглядеть глупым, испытали наименьшее количество личного роста. – MedicineMan