Блог Алгоритмы и структуры данных → Полезные материалы по алгоритмам | OTUS
Алгоритм ветвления. Отличие от алгоритмов линейной структуры

Статья рассказывает про алгоритмы с разветвлённой структурой. Читатель узнает, чем их решение отличается от решения линейных алгоритмов, как выглядит программный способ записи таких алгоритмов, а также какова будет блок-схема.

Линейный алгоритм. Понятие и особенности. Блок-схема

Каждый человек на протяжении своей жизни решает множество задач разной сложности. Но даже самые простые из задач выполняются последовательно, то есть за несколько шагов. Эту последовательность можно назвать алгоритмом. Последовательности бывают разные, но начинать их изучение лучше всего с линейных.

Какой алгоритм сортировки быстрее?

Существует много видов сортировки: пузырьковая (bubble), выборкой (Selection), вставками (Insertion), куча (Heap), слиянием (Merge), быстрая (Quick). В этой статье мы постараемся определить, какой из этих алгоритмов быстрее.

Циклический алгоритм

В этой статье будет рассмотрена работа циклического алгоритма — что это, как он работает, какие виды существуют. Также будут рассмотрены примеры циклических алгоритмов в разных языках программирования.

Генератор случайных чисел

Генератор поиска случайных чисел, он же рандомайзер или ГСЧ, позволит сгенерировать случайное число (последовательность чисел) из какого-нибудь диапазона. Чтобы получить рандомное (случайное) число, пользователю достаточно указать количество требуемых случайных чисел и задать интересующий диапазон. В результате значения (numbers) будут случайно сгенерированы, что займёт всего доли секунды. Программа работает предельно просто с использованием специального алгоритма.

Алгоритм быстрой сортировки

Алгоритм быстрой сортировки, как и алгоритм слиянием, относят к алгоритмам «разделяй и властвуй». Однако в отличие от последнего он не требует дополнительной памяти и чрезвычайно эффективен при правильной конфигурации. Давайте рассмотрим особенности его работы и реализации.

Сортировка слиянием с реализацией на Python

Алгоритм сортировки слиянием относят к алгоритмам, работающим по принципу «разделяй и властвуй». Он разбивает список на 2 части, каждую разбивает ещё на 2 и так далее, пока не останутся единичные элементы.

Алгоритм сортировки вставками

Как и в случае с сортировкой выборкой, алгоритм сортировки вставками выполняет сегментацию списка на 2 части: сортированную и несортированную. Далее алгоритм перебирает 2-й сегмент, вставляя текущий элемент в правильную позицию 1-го сегмента.

Алгоритм сортировки выборкой с примером на Python

Algo_Deep_14.4-5020-efbc8a.png

Сортировка выборкой — известнейший алгоритм, сегментирующий список на 2 части: несортированную и сортированную. При этом элемент с минимальным значением удаляется из второго списка, добавляясь в первый.

Алгоритм пузырьковой сортировки — реализация на Python

Algo_Deep_3.4-5020-66ad16.png

Алгоритм пузырьковой сортировки является довольно простым. Он выполняет итерации по списку и сравнивает элементы попарно, заодно меняя их местами. Это происходит до тех пор, пока крупные элементы не «всплывут» (аналогия с пузырьками воздуха) в начало списка. Более мелкие, соответственно, останутся на «дне».

Популярное
Сегодня тут пусто