Я пытаюсь понять несколько алгоритмов сортировки, но изо всех сил пытаюсь увидеть разницу в алгоритмах пузырьковой сортировки и сортировки вставкой.
Я знаю, что оба они O (n 2 ), но мне кажется, что пузырьковая сортировка просто пузырит максимальное значение массива вверх для каждого прохода, тогда как сортировка вставкой просто опускает наименьшее значение вниз на каждом проходе. Разве они не делают одно и то же, но в разных направлениях?
Для сортировки вставкой количество сравнений / потенциальных свопов начинается с нуля и увеличивается каждый раз (т.е. 0, 1, 2, 3, 4, ..., n), но для пузырьковой сортировки происходит то же самое, но в конце сортировка (т.е. n, n-1, n-2, ... 0), потому что пузырьковой сортировке больше не нужно сравнивать с последними элементами при их сортировке.
Несмотря на все это, похоже, все согласны с тем, что сортировка вставкой в целом лучше. Кто-нибудь может сказать мне, почему?
Изменить: меня в первую очередь интересуют различия в том, как работают алгоритмы, а не их эффективность или асимптотическая сложность.