4.64 из 5
4.64
46 отзывов

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

Станьте лучшим программистом, улучшив свои навыки и пройдите собеседование. Для C# и Java разработчиков.
Автор курса:
Илья Фофанов
381 студент зачислен
Реализация основных структур данных: список, стек, очередь и понимание того как они устроены
Корректное использование структур данных встроенных в BCL
Подготовка к собеседованиям, на которых вас будут мучить алгоритмами
Деревья, хеш-таблицы и др. структуры данных
Различные алгоритмы

В этом курсе мы пройдём основные алгоритмы и структуры данных. Примеры кода написаны на 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 дней на возврат денежных средств, так что даже если вам курс не понравится – вы ничем не рискуете, всегда можно вернуть деньги парой кликов.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6
4.6 из 5
46 Рейтинги

Детальный Рейтинг

Звезды 5
32
Звезды 4
9
Звезды 3
2
Звезды 2
2
Звезды 1
0
4530538e06e440fb5de2910f54f47ffd
3-дневная гарантия возврата денег

Этот курс включает:

13 часов видео по запросу
6 статей
Полный пожизненный доступ
Доступ с мобильного
Сертификат об окончании
Алгоритмы и структуры данных от А до Я
Цена:
0.55 ₽ 3,490 ₽
Этот веб-сайт использует файлы cookie и запрашивает ваши личные данные для улучшения вашего просмотра.