Наиболее полный видеокурс по алгоритмам и структурам данных

1
8176
Добавить в избранное

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

Алгоритм Дейкстры

Этот алгоритм находит кратчайшее расстояние до какой-либо точки при конкретных условиях. Все действие разворачивается в сети с узлами и дугами. Они имеют свой вес, влияющий на поиск кратчайшего пути в процессе работы алгоритма.

Поворот бинарного дерева

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

Алгоритмы муравьёв (поиск)

Когда речь заходит о поиске, это означает, что понадобится граф. В данном случае используется произвольный граф, муравьи и феромоны (направление движения по графу). После каждого прохода алгоритма муравьи будут находить кратчайшие пути в графе, следуя по феромонам.

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

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

Сортировка пузырьком

Данный вид сортировки – самый простой способ отсортировать массив. В качестве примера дан массив из четырех чисел, сортируемых парами. Если одно из чисел больше – они меняются местами.

Оптимизация длины пузырька

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

Оптимизация количества пузырьков

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

Оптимизация направления пузырька

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

Сортированные бинарные деревья и бинарный поиск

Видеокурс по алгоритмам продолжает урок о том, как применить в бинарном поиске различные виды деревьев. Бинарное дерево – это дерево, в котором у каждого узла может быть не более двух дочерних нод. У данного дерева есть «модификация» – сортированное бинарное дерево. В таком дереве значения левой части узлов меньше или равны, а слева больше или равны, чем значение корневой ноды.

B-дерево

Данный вид деревьев не имеет ничего общего с бинарными деревьями, т. к. они всегда жестко сбалансированы. Каждый узел такого дерева может содержать в себе более чем одно значение. Максимальное количество значений в B-дереве обычно обозначается отдельным параметром c буквой М.

Связанные списки и алгоритмы их изменения

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

Алгоритм Флойда

Алгоритм Флойда – это алгоритм поиска кратчайшего пути из одного в другой узел графа. Он очень похож на алгоритм Дейкстры, но с одним большим отличием – позволяет искать сразу множество кратчайших путей через все ноды.

Гномья сортировка

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

Сортировка Коктейлемешалкой

Видеокурс по алгоритмам включает в себя простой, но интересный алгоритм: алгоритм перемешивания.

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

Алгоритм поиска A*

Данный алгоритм поиска обычно используется в компьютерных играх для быстрого нахождения кратчайшего пути при помощи эвристической функции А-звезда.

Коммивояжер – решение алгоритмом муравьёв

Завершает видеокурс по алгоритмам ролик, в котором автор разбирает решение задачи коммивояжера при помощи алгоритма муравьев. Программный код реализован на C++.

Другие материалы по теме:

Интересуетесь алгоритмами?

Подпишитесь на нашу рассылку, чтобы получать больше интересных материалов:

И не беспокойтесь, мы тоже не любим спам. Отписаться можно в любое время.




1 комментарий

Оставьте комментарий