Алгоритмы и Структуры данных

Самая полная и самая актуальная коллекция алгоритмов и структур данных на русском языке!

4.76 (439 reviews)
Udemy
platform
Русский
language
Software Engineering
category
3,483
students
13 hours
content
Feb 2022
last update
$59.99
regular price

What you will learn

Алгоритмы

Структуры данных

Решение задач

Алгоритмическое мышление

Задачи

Графы

Математика

Перебор

Побитовые операции

Сортировки

Динамическое программирование

ДП

Теория графов

Продвинутые структуры данных

Геометрия

Асимптотика

BigO

Стек

Очередь

Куча

Список

Рекурсия

Решение задач для интервью

Description

Хотите выучить структуры данных и алгоритмы? Это самый полный и самый актуальный онлайн курс на русском языке, проверенный на сотнях студентов.

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

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

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

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

Этот курс содержит в себе всю самую важную и необходимую информацию, которая вам понадобится. Лекции, задачи, тесты, слайды - всё подаётся как на ладони. Курс разрабатывался несколько лет, сотни студентов полностью его прошли и оставили исключительно положительные отзывы. Всё содержимое останется с вами навсегда, весь вышеуказанный контент - ваш.

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

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

Будет весело! В конце курса мы с вами получим и выучим:

  • Принципы основных алгоритмов, их доказательства и ньюансы.

  • Структуры данных, которые используются в 99.9% всех практических задач в мире.

  • Полное понимание сложности алгоритмов, скорости их работы и оптимизаций.

  • Умение самостоятельно спроектировать алгоритм или структуру данных для конкретной задачи.

  • Абсолютное владение графами, с алгоритмами на них. Например, нахождение кратчайшего пути или нахождение остовного дерева.

  • Алгоритмы и структуры данных которые используют различные методы, чтобы как можно быстрее искать или сортировать элементы.

  • Теория чисел вместе с математикой, которая бывает необходима в сферах типа игровых или криптографии.

Всё ещё не уверены для вас ли этот курс? Вы можете написать мне лично и я помогу вам с ответом на любой вопрос!

Если по итогу завершения курса есть какой то алгоритм или структура данных, которую вы хотели выучить, но её не было в курсе - не беда! Напишите мне, и я разберу эту тему специально для вас, и добавлю её в курс, вначале упомянув кто именно запросил ту или иную тему (если захотите).

Этот курс идет с гарантией 100%-ого возврата средств в течении 30 дней. Если что-то вам не понравилось - средства будут возвращены без вопросов.

Что же, жду вас в курсе, не терпится рассказать всё это, дождаться окончания курса и услышать от вас отзыва! До скорого!

Content

Введение (Introduction)

Введение

Вычисление сложности алгоритмов (Asymptotic analysis)

Асимптотический анализ алгоритмов (Asymptotic analysis)
Асимптотический анализ алгоритмов (Asymptotic analysis)

Структуры данных (Data Structures)

Стек (Stack)
[Код] Стек (Stack)
Очередь (Queue)
[Код] Очередь (Queue)
Лист (List)

Побитовые операции (Bitwise operations)

Побитовые операции (Bitwise operations)
[Код] Побитовые операции (Bitwise operations)
Битмаски (Bitmasks)
[Код] Битмаски (Bitmasks)

Сортировки (Sortings)

Сортировка выбором (Selection sort)
[Код] Сортировка выбором (Selection sort)
Пузырьковая сортировка (Bubble sort)
[Код] Пузырьковая сортировка (Bubble sort)
Сортировка вставкой (Insertion sort)
[Код] Сортировка вставкой (Insertion sort)
Сортировка подсчётом (Counting sort)
[Код] Сортировка подсчётом (Counting sort)
Сортировка слиянием (Merge sort)
[Код] Сортировка слиянием (Merge sort)
Быстрая сортировка (Quick sort)
[Код] Быстрая сортировка (Quick sort)
Поразрядная сортировка (Radix sort)
[Код] Поразрядная сортировка (Radix sort)
Бонус по сортировкам
Сортировки (Sortings)

Математика (Math)

Бинарное возведение в степень (Binary exponentiation)
[Код] Бинарное возведение в степень (Binary exponentiation)
Бинарный поиск (Binary search)
[Код] Бинарный поиск (Binary search)
Алгоритм Эвклида, НОД и НОК (Euclidean algorithm, GCD and LCM)
[Код] Алгоритм Эвклида, НОД и НОК (Euclidean algorithm, GCD and LCM)
Решето Эратосфена (Sieve of Eratosthenes)
[Код] Решето Эратосфена (Sieve of Eratosthenes)
Умножение матриц (Matrix multiplication)
[Код] Умножение матриц (Matrix multiplication)
Функция Эйлера (Euler function)
[Код] Функция Эйлера (Euler function)
Модулярная арифметика (Modular arithmetic)
[Код] Модулярная арифметика (Modular arithmetic)

Хэширование (Hashing)

Хэш функция (Hash function)
Хэш таблица (Hash table)
Фильтр Блума (Bloom filters)
Хэширование строк (String hashing)
[Код] Хэширование строк (String hashing)

Рекуррентные соотношения (Recurrent relations)

Рекуррентные соотношения (Recurrent relations)
Решения при помощи матриц (Solve using matrices)
[Код] Решения при помощи матриц (Solve using matrices)

Перебор с возвратом (Backtracking)

Перебор с возвратом (Backtracking)
[Код] Перебор с возвратом (Backtracking)

Динамическое программирование (Dynamic programming)

Динамическое программирование (Dynamic programming)
[Код] Динамическое программирование (Dynamic programming)
Техника сканирующего окна (Sliding window technique)
[Код] Техника сканирующего окна (Sliding window technique)

Теория графов (Graphs theory)

Что такое графы? (Graphs)
Хранение графов (Graphs representation)
[Код] Хранение графов (Graphs representation)
Поиск в глубину (DFS, Depth-first search)
[Код] Поиск в глубину (DFS, Depth-first search)
Поиск в ширину (BFS, Breadth-first search)
[Код] Поиск в ширину (BFS, Breadth-first search)
Компоненты связности (Connected components)
[Код] Компоненты связности (Connected components)
Минимальное расстояние в графе (Minimal distance in graph)
[Код] Минимальное расстояние в графе (Minimal distance in graph)
Топологическая сортировка (Topological sort, Toposort)
[Код] Топологическая сортировка (Topological sort, Toposort)
Компоненты сильной связности (Strongly connected components)
[Код] Компоненты сильной связности (Strongly connected components)
Алгоритм Дейсктры для кратчайшего пути (Dijkstra's shortest path algorithm)
[Код] Алгоритм Дейсктры для кратчайшего пути(Dijkstra's shortest path algorithm)
Алгоритм Флойда-Уоршелла (Floyd-Warshall algorithm)
[Код] Алгоритм Флойда-Уоршелла (Floyd-Warshall algorithm)
Эйлеров пути и цикл (Euler path and cycle)
[Код] Эйлеров пути и цикл (Euler path and cycle)
Система непересекающихся множеств, СНМ (Disjoint set union, DSU)
[Код] Система непересекающихся множеств, СНМ (Disjoint set union, DSU)
Минимальное основное дерево (Minimum spanning tree)
[Код] Минимальное основное дерево (Minimum spanning tree)

Продвинутые структуры данных (Advanced Data Structures)

Деревья (Trees)
Куча (Heap)
[Код] Куча (Heap)
Сортировка кучей (Heap sort)
[Код] Сортировка кучей (Heap sort)
Бинарное дерево поиска (Binary Search Tree, BST)
Красно-Черное Дерево (Red-Black Tree, RBT)
Дерево Отрезков (Segment Tree)
[Код] Дерево Отрезков (Segment Tree)
Дерево Фенвика (Fenwick Tree)
[Код] Дерево Фенвика (Fenwick Tree)
Sqrt-декомпозиция (Sqrt-decomposition)
[Код] Sqrt-декомпозиция (Sqrt-decomposition)
Разряженная таблица (Sparse table)
[Код] Разряженная таблица (Sparse table)
Префиксное дерево (Prefix tree, Trie)
[Код] Префиксное дерево (Prefix tree, Trie)

Отступление (Outro)

Завершение и ссылки

Screenshots

Алгоритмы и Структуры данных - Screenshot_01Алгоритмы и Структуры данных - Screenshot_02Алгоритмы и Структуры данных - Screenshot_03Алгоритмы и Структуры данных - Screenshot_04

Reviews

Павел
July 11, 2023
Курс сделан качественно, много практики в материалах и только необходимые объяснения. Реализовал структуры самостоятельно и решал задачи из материалов - это помогло мне пройти алгоритмическую часть собеседования с легкостью. Большое спасибо автору!
Sergei
March 10, 2023
Полезный курс, но расстроило то, что не на питоне, некоторые алгоритмы приходилось очень долго искать.
Margarita
January 18, 2023
Подробный и понятный курс. Подробные объяснения и тренировочные задачи, которые решаются на основе материала, и потом, после курса, можно смело углублять знания: основа заложена! Спасибо, Вам, Левон, огромное!
Павел
January 3, 2023
Очень хороший курс, купил его, т.к. понял, что у меня есть пробелы в алгоритмах и ниразу не пожалел, преподаватель объясняет очень хорошо. Спасибо
Алексей
December 24, 2022
Мне понравилось! Автор рассказывает очень подробно. Старается. Что для меня важно, у автора приятный голос и интонации. Рад что купил курс. Так же понравились очень подробные слайды. Прекрасная и очень полная информация. короче, я доволен! Всем рекомендую!
Leonid
August 5, 2022
На данный момент мало теоретического материала и примеров применения, некоторые ссылки на задачи для самостоятельного выполнения недоступны либо указывают на список задач большинство из которых не соответствуют уровню знаний текущего урока.
Almir
July 24, 2022
At the end of the course, there is some kind of looseness, by the way if this course was in java, it will be 5 star)
Iurii
June 22, 2022
Искал курс для вхождения в алгоритмы и структуры данных. В рамках курса узнал всё, что хотел по этой теме. Понравилось, что к каждому уроку прикреплены дополнительные материалы. Из того, что не хватило - хотелось бы в конце каждой лекции-презентации видеть итоговый слайд, в котором тезисно описаны материалы урока. Т.е. текста нет, только blackboard.
Amir
April 4, 2022
Добрый день, курс очень хороший. Алгоритмы разбираются, те кто с опытом, синтаксис плюсов освоит быстро. В заключении (последнем разделе) хотелось бы увидеть 1 урок на минут 20-25 про разные плафтормы типо leetcode, hackerrank и другие для практики. Чтобы автор так скажем "направил" ребят дальше в самостоятельный путь показав дорогу. Ну и советы как решать такие задачи быстро и успешно. Я списался с автором в личных сообщениях и получил нужные ответы, за что благодарен.
Andrey
February 12, 2022
Здравствуйте! Начало курса очень хорошее, но в теме графов по моему личному ощущению произошёл провал в объяснении. Вы рассказываете очень много интересных вещей и пограничных случаев, но порой саму тему раскрываете не слишком ясно для новичков. Я учусь писать на Java, и хоть синтаксис языка C++ очень похож на него, зачастую я путался в процессе урока, так как Вы используете в повествовании термины или средства, специфичные для самого языка, и это сбивало с толку. Например, запись if (graph[i][j]) не очень наглядна, так как в C++ этого достаточно (ведь там if может переварить целые числа 1 и 0, полученные из массива). На мой взгляд нагляднее было бы использовать более конкретизированную запись if (graph[i][j] == 1), которая более наглядно указывает на получение булева результата сравнения значения полученного из массива и искомого значения. Понимаю, что это чрезмерная запись, и язык позволяет её сократить, но всё же она нагляднее, а для учебного курса это важно. Опять же только по моим ощущениям, немного тяжело было воспринимать в теме графов код-сессии, когда Вы использовали ранее написанные функции DFS и BFS, копировали их и уже потом в этот код вносили изменения. Я понимаю, что это сделано для экономии времени (да и код однотипный), но на мой взгляд, для новичков было бы нагляднее кажды раз писать код с нуля с комментариями. Всё-таки алгоритмы непростая тема, и важно привить студентам правильный ход мышления и рассуждений. Так же, иногда не хватает более подробной визуализации (для меня в теме "Система не пересекающихся множеств"). В целом, курс очень хороший, я узнал много нового для себя. Надеюсь воспримите мой комментарий как конструктивную критику.
Nikita
January 13, 2022
Первое впечатление было немного затуманено, но после прохождения нескольких уроков, я однозначно ставлю 5 звезд. Стоит своих денег, но лучше брать по скидки будет в разы приятнее )
Татьяна
October 31, 2021
Очень понравился курс! Хорошо, что сразу после теоретической части было написание кода. Единственное, мне при написании кода не хватало визуального представления тех же структур данных (матриц, массивов) из теоретической части. И хотелось бы с вами побольше разбора задач, мне понравилось как вы объясняете.
Малышев
October 12, 2021
Очень крутое объяснение материала, не знаю что будет дальше, но если в конце будут еще алгоритмы сжатия, то курс войдет в историю!!
Aram
August 1, 2021
Спасибо большое за этот курс, теперь я узнаю много нового про алгоритмы и смогу продвинутся в их изучении.
Levon
August 1, 2021
В целом очень сбалансированный курс. Рассказывается все подробно и по делу. Речь приятная, на русском языке, что большой плюс. Много чему научился, спасибо)

Charts

Price

Алгоритмы и Структуры данных - Price chart

Rating

Алгоритмы и Структуры данных - Ratings chart

Enrollment distribution

Алгоритмы и Структуры данных - Distribution chart
3995368
udemy ID
4/20/2021
course created date
7/26/2021
course indexed date
Bot
course submited by