heap.tech
лаборатория велосипедов
×
18 марта 2016
В двух предыдущих статьях я рассказывал что такое алгоритмы и привел примеры реализации двух алгоритмов сортировки: сортировка пузырьком с сортировка выбором (перебором). Это простые алгоритмы, но вместе с тем они работают достаточно быстро, хотя алгоритм сортировки выбором в любом случае имеет одно и тоже количество сравнений и перестановок.

В этой статье я хочу рассмотреть алгоритм сортировки вставкой (insertion sorting). Числа постоянно вставляются в начало (или в конец, если сортировка по убыванию), сдвигая остальные ячейки на одну.

Поехали!
15 марта 2016
В прошлой статье я рассказывал что такое алгоритмы в общем понимании и для чего они нужны. Кроме этого, я привел пример реализации алгоритма сортировки массива - сортировка пузырьком. Сортировка пузырьком это достаточно простой алгоритм со своими плюсами и минусами.

Пришло время двигаться вперед, в этой статье речь пойдет о сортировке массива выбором (или перебором, как больше нравиться).
16 февраля 2016
Каждый программист должен изобрести собственный велосипед или хотя-бы добавить костыль в чужой и, естественно, назвать это идеальным кодом.
Если рассматривать велосипед как средство передвижения, а каждого программиста как проектировщика - то каждый проектировщик хочет сделать свой велосипед круче, чем у других. Он будет стремиться сделать более эргономичную раму, удобное сиденье трещотку на спицы, чтобы как мопед звучал и т.д. Но сам принцип работы велосипеда, основные узлы, например, колесо, подшипники, принцип работы переключателя скоростей, тормоза - неизменны. Это базовые принципы, они были изобретены и отлажены такими-же мастерами велостроения задолго до появления нашего программиста-проектировщика, поэтому необходимости придумывать круглое колесо и цепную передачу у него нет.
Тоже и в программировании - есть базовые фичи, облегчающие жизнь при создании новой программы. Это может быть выборка чего-то из чего-то, поиск и исключение дубликатов, сортировка, группировка, сборка мусора и т.д. Все эти фичи позволяют упростить создание программы, но редко кто задумывается, а как именно работает, например, сортировка массива в прямом или обратном порядке.