Алгоритм пузырьковой сортировки на Go
На этих выходных решил поностальгировать и вспомнить то, что изучал 17 лет назад.
В школе мы программировали на Паскале. Программирование тогда я знал очень плохо, вообще не понимал, зачем это всё и как оно работает. Для меня уже было радостью то, что программа просто запускалась - даже если она была с логическими ошибками и работала неправильно.
Одной из первых сортировок, которую мы проходили, была пузырьковая. Классический алгоритм, который закладывает фундамент для понимания сортировки данных.
С тех пор много времени прошло, а пузырьковая сортировка так и осталась в учебном классе. Честно говоря, даже не помню, попадалась ли она в универе - ну разве что вскользь.
После я ее больше не встречал. Потому что в современных языках уже есть более совершенные встроенные алгоритмы сортировки, а пузырьковая - очень медленная из-за своей квадратичной сложности.
Но я всё равно решил добавить её на свой блог. Почему? Потому что она отлично иллюстрирует важные концепции: - сравнение соседних элементов - проход по массиву с постепенным сокращением границы - ранний выход из цикла при оптимизации
Если вы хотите изучать алгоритмы - это классический пример того, с чего можно начать.
А вы помните свои первые шаги в программировании? Пишите в комментариях!