Быстрая сортировка, Heapsort и Buublesort. Тем не менее, ряд студентов сказал нам, что эти алгоритмы не имеют отношения к промышленности и не широко используются.
Это явно ложно. Вы увидите Quicksort в дикой природе и, вероятно, даже heapsort.
Это правда, и если да, то на какие алгоритмы сортировки я должен смотреть?
Смысл изучения этих алгоритмов, даже если они не обязательно используются в промышленности, состоит в том, чтобы понять, как составляются алгоритмы, как их анализировать (что является наихудшим, что является лучшим, что является асимптотическое поведение и т. д.) и как доказать, что они верны.
Суть в том, чтобы развить навыки рассуждать, думать и понимать алгоритмы, а не обязательно изучать алгоритмы, которые вы увидите в промышленности.
Таким образом, мы используем, скажем, вычисление чисел Фибоначчи в качестве примера рекурсивного алгоритма, чтобы изучить концепцию рекурсии, а не так много, чтобы научиться вычислять числа Фибоначчи. Это редко требуется в дикой природе (если только у вас нет проблем с Project Euler). (И реализация Фибоначчи через рекурсию в любом случае ужасна.)