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

Станьте лучшим программистом, улучшив свои навыки и пройдите собеседование. Для C# и Java разработчиков.

4.50 (164 reviews)
Udemy
platform
Русский
language
Software Engineering
category
Алгоритмы и структуры данных от А до Я
1,208
students
13.5 hours
content
Jan 2022
last update
$59.99
regular price

What you will learn

Реализация основных структур данных: список, стек, очередь и понимание того как они устроены

Корректное использование структур данных встроенных в BCL

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

Деревья, хеш-таблицы и др. структуры данных

Различные алгоритмы

Why take this course?

В этом курсе мы пройдём основные алгоритмы и структуры данных. Примеры кода написаны на C#, однако 99% материала будет ясно любому Java-программисту, поскольку синтаксис языков очень схож, а примеры кода алгоритмов и структур данных так вообще будут почти полностью совпадать и в C# и в Java. В курсе есть лишь несколько лекций посвящённых исключительно библиотекам C#.

Зачем изучать алгоритмы и структуры данных?

Алгоритмы и структуры данных составляют основы программирования.

  • Понимание алгоритмов и структур данных – одно из самых важных
    требований для устройства на работу в хорошие компании.

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

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

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

  • Более мощное «железо» – не всегда хорошее/доступное решение проблем связанных с производительностью. Иногда, возникает необходимость разрабатывать программы для очень низко производительных устройств. Использование какого-либо железа зачастую так же зависит от бюджета заказчика, поэтому далеко не всегда выбор железа диктуется разработчиком.

  • Понимание того, что происходит «под капотом» весьма желательно. Хотя бы на один уровень в глубину. Действительно, если вы не понимаете как устроен список, иногда вы будете принимать не оптимальные или вообще неверные решения.

Почему этот курс?

Вы можете меня спросить «почему я должен взять именно ваш курс»? И вот мой ответ:

  • этот курс покрывает множество тем

  • я старался сделать этот курс не слишком сухим

  • курс посвящён не только алгоритмам и структурам данных, но также освящает внутреннее устройство структур данных и алгоритмов встроенных в основную библиотеку классов .NET (библиотека классов в .NET Core в плане структур данных и алгоритмов устроена точно так же)

  • курс практический с домашними заданиями и решениями

  • курс поможет вам пройти технические собеседования

  • курс сделан профессиональным разработчиком с большим реальным опытом

  • и множество др. причин :)

Что внутри курса?

На данный момент курс покрывает следующие темы:

  • Введение в алгоритмы и структуры данных: структура данных, абстрактный тип данных,
    разница между этими понятиями. Что такое алгоритм и почему всё это для нас важно?

  • Введение в анализ алгоритмов: сколько времени займёт исполнение программы,
    построение log-log графика, аппроксимации, порядок роста сложности (Big-O нотация), потребление памяти

  • Массивы: массивы в C#, массивы в памяти, сложность операций на массивах

  • Алгоритмы сортировки: пузырьковая, выборкой, вставками, рекурсия, Шелл-сортировка, слиянием, быстрая, стабильность алгоритмов сортировки

  • Списки: List встроенный в BCL, узлы (ноды), связный список (односвязный, двусвязный),
    LinkedList встроенный в BCL

  • Стек: теория и практика, на массиве,
    на связном списке, встроенный в BCL

  • Очереди: теория и практика, на массиве, кольцевой буфер,
    на связном списке, встроенная в BCL

  • Алгоритмы поиска: линейный, бинарный

  • Символьные таблицы: введение, API, таблицы на последовательном поиске,
    таблица на бинарном поиске

  • Хеш-таблицы: введение, хеширование, GetHashCode, подходы к разрешению коллизий: раздельные цепочки и линейное пробирование, тип Dictionary встроенный в BCL, типы представляющие множества встроенные в BCL

  • Деревья: двоичное дерево поиска и его реализация (больше будет добавлено в будущем)

  • Пирамиды: введение, пирамиды и массивы, пирамидальная сортировка

  • Различные алгоритмы: эта секция будет расширяться, а пока покрывает алгоритм «решето Эратосфена»

Зачисляйтесь на курс и вы не пожалеете! Не забывайте, что Udemy даёт 30 дней на возврат денежных средств, так что даже если вам курс не понравится – вы ничем не рискуете, всегда можно вернуть деньги парой кликов.

Screenshots

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

Reviews

Konstantin
September 25, 2023
В целом неплохо для обзорного/вводного курса. Но.... Курс заброшен. Несколько секций больше года в состоянии "скоро будет". Иногда в теории обхясняется один подход, а в реализации "я решил сделать иначе", что может затруднять понимание материала. Объяснение куч (пирамид) на символах - это вообще взрыв мозга. На мой взгляд намного проще для восприятия было бы объяснять эту структуру данных на целых числах.
Vagif
May 6, 2023
Надо было сказать что ADT - это как бы базовые типы и перечислить несколько обычных ADTs как стек, queue, array, graph итд. Так было бы понятнее !
Alexander
March 27, 2023
Курс хороший! но в нем есть незалитые(пустые) разделы, которые не дают завершить курс, после того как прослушаны все лекции
Osman
March 24, 2022
Очень все усложнено, постоянно куда-то торопиться. Приводит плохие аналогии. Мне не зашло, хотел вернуть деньги, не получилось.
Marin
December 7, 2021
Довольно поверхностно и быстро. Зная немного про данную тему, показалось, что автор куда-то торопится всегда. Ну возможно для новичков думаю сойдет, хотя могут появится куча вопросов.

Charts

Price

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

Rating

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

Enrollment distribution

Алгоритмы и структуры данных от А до Я - Distribution chart
3627266
udemy ID
11/10/2020
course created date
11/28/2020
course indexed date
Bot
course submited by