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

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

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

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

https://www.youtube.com/watch?&v=UA6aV1XJCGg

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

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

https://www.youtube.com/watch?v=Bcv243cpZbw

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

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

https://www.youtube.com/watch?v=r9_o6zmIX3w

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

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

https://www.youtube.com/watch?v=9hYiBr1JAYY

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

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

https://www.youtube.com/watch?v=H7KXpRV7H4g

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

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

https://www.youtube.com/watch?v=9r5uVOBN6e4

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

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

https://www.youtube.com/watch?&v=HsEttC3VV8E

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

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

https://www.youtube.com/watch?v=hA_I5KgodYU

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

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

https://www.youtube.com/watch?v=7pH1VBJDgOk

B-дерево

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

https://www.youtube.com/watch?v=WXXetwePSRk

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

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

https://www.youtube.com/watch?v=-iyi-eDMym0

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

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

https://www.youtube.com/watch?v=DmrFwLcDl9c

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

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

https://www.youtube.com/watch?&v=LaOZPkCT5d0

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

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

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

https://www.youtube.com/watch?v=V773gjY2kuI

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

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

https://www.youtube.com/watch?v=AsEC2TJZ3JY

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

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

https://www.youtube.com/watch?v=1aBlEpGENGs

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

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ