Открыто

Алгоритмы и структуры данных [2021] [robot dreams] [Мария Скрягина]

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 6 июл 2021.

Основной список: 25 участников

Резервный список: 6 участников

  1. 6 июл 2021
    #1
    Toxich
    Toxich ЧКЧлен клуба
    Алгоритмы и структуры данных [2021]
    robot dreams
    Мария Скрягина


    Находите наиболее эффективные решения для повышения производительности кода.

    Оперативно найти и выгрузить необходимую информацию, сжать данные без потерь или работать с высоконагруженными системами разработчику помогают алгоритмы, то есть уже готовые последовательности операций. Как применять алгоритмы и находить концептуально правильные решения ― узнайте на курсе.
    1. Junior Web/Software Developers
    • Вы будете тратить ≈10 часов в неделю на самостоятельную практику и решать сложные задачи с использованием 5 основных видов алгоритмов.
    • Научитесь одинаково эффективно работать с рекурсией и пузырьковой сортировкой и сможете выбирать наиболее эффективный алгоритм под свои задачи.
    • В результате ― заложите фундамент алгоритмического мышления и сможете пройти problem solving interview на позицию Junior Web/Software Developer в большой международной корпорации
    2. Web/Software Developers
    • За 9 недель вы решите большое количество задач разными методами и научитесь оптимизировать существующие алгоритмы под свои рабочие задачи.
    • Вас ждет объемная и сложная самостоятельная практика, но в результате ― вы получите фундаментальные знания по программированию и закроете пробелы в знаниях.
    • С навыками, приобретенными на курсе, вы сможете претендовать на должность Web/Software Developer в международной корпорации и будете изобретать эффективные решения тогда, когда другие специалисты тратят несколько часов, чтобы нагуглить готовый код.
    1. Работать с разными структурами данных
    2. Реализовывать классические алгоритмы и выбирать алгоритм исходя из задачи
    3. Изобретать новые решения и писать собственные алгоритмы
    4. Находить данные в отсортированном массиве и решать задачи балансировки дерева
    5. Строить хэш-таблицы, жадные алгоритмы и алгоритмы на строках
    6. Оценивать программный код и находить способы его оптимизации
    7. Применять алгоритмы для динамического программирования
    8. Устроиться на работу в компанию, которая фокусируется на problem solving interview
    Модуль 1 - Введение в алгоритмы и структуры данных
    • Разберитесь в том, что такое алгоритмы и структуры данных.
    • Узнайте, в каких сферах используют алгоритмы и какие задачи они решают.
    • На реальных примерах из жизни и технических примерах из практики лектора научитесь определять сложность алгоритмов.
    Модуль 2 - Массивы как структура данных
    • Научитесь обрабатывать массивы и выполнять простые операции над ними [доступ, поиск, вставка, удаление].
    • Разберите несколько разных задач по работе с массивами.
    • Научитесь определять временную сложность и сложность по памяти массивов.
    Модуль 3 - Рекурсия
    • Узнайте, когда и зачем применять рекурсию.
    • Разберите типичные рекурсивные задачи и научитесь реализовывать алгоритмы с применением рекурсии.
    • Рассчитайте n-й элемент для последовательности Фибоначчи с помощью рекурсии.
    Модуль 4 - Связный список
    • Научитесь проводить разные операции над связными списками.
    • Разберите и решите типичные задачи на связные списки.
    • Осуществите операции над связными списками и удалите дубликаты из связного списка.
    Модуль 5 - Стеки и очереди
    • Узнайте, чем стек отличается от очереди.
    • Разберите типичные задачи по стекам и очередям.
    • Научитесь преобразовывать стеки в очереди и наоборот.
    • Определите временную сложность и сложность по памяти стеков и очередей.
    Модуль 6 - Алгоритмы по поиску и сортировке
    • Разберитесь в видах алгоритмов по поиску и сортировке.
    • Узнайте, что такое бинарный поиск и научитесь реализовывать задачи по применению бинарного алгоритма.
    Модуль 7 - Алгоритмы по сортировке. Part 1
    • Ознакомьтесь с пузырьковой сортировкой, сортировкой вставками и сортировкой выбором.
    • Примените эти алгоритмы на практике и решите по ним задачи.
    • Научитесь сортировать массивы данных.
    Модуль 8 - Алгоритмы по сортировке. Part 2
    • Реализуйте сортировку слиянием и быструю сортировку.
    • Научитесь выбирать вид алгоритма под конкретную задачу и находить наиболее оптимальный способ решения.
    Модуль 9 - Деревья
    • Узнайте, как структура данных «дерево» помогает хранить иерархическую информацию.
    • Разберитесь в видах древовидных структур данных.
    • Поймите, чем бинарное дерево отличается от дерева общего вида.
    • Научитесь находить общего предка, определять диаметр дерева и связи между узлами.
    Модуль 10 - Бинарные деревья поиска
    • Детально изучите структуру бинарных деревьев поиска.
    • Научитесь реализовывать поиск в ширину (BFS) и поиск в глубину (DFS).
    • Напишите алгоритм нахождения k-го элемента в массиве.
    • Узнайте, какие подходы можно применить для решения типичных задач по бинарным деревьям поиска.
    Модуль 11 - Графы
    • Узнайте, какие бывают графы.
    • Научитесь реализовывать матрицу смежности и основные алгоритмы обхода.
    • Научитесь находить минимальное остовное дерево в неориентированном нагруженном графе.
    • Реализуйте задачи по изученным методам разработки алгоритмов, например, определите количество одноцикловых компонентов на графике.
    Модуль 12 - Хеш-функции
    • Узнайте, для каких задач применяют хеш-функции и разберите реальные кейсы.
    • Решите задачу с применением хеш-функции.
    Модуль 13 - Хеш-таблицы
    • Изучите структуру данных хеш-таблицы.
    • Научитесь реализовывать схему для нахождения коллизий и предотвращения коллизий в хеш-таблицах и структурах данных.
    • Проверьте, является ли один массив частью другого, и найдите первое повторение элемента массива.
    Модуль 14 - Динамическое программирование [лекция]
    • Разберитесь в понятиях: динамический массив, двоичная куча и пирамидальная сортировка.
    • Разберите на примерах одномерные и двумерные задачи динамического программирования.
    Модуль 15 - Динамическое программирование [практика]
    • Узнайте, в чем суть динамического программирования и отличия этого метода разработки алгоритмов от остальных.
    • Научитесь решать задачи методом динамического программирования по подотрезкам и динамического программирования по подмножествам.
    • Разберитесь в алгоритмах кеширования.
    • Научитесь оптимизировать алгоритмы.
    Модуль 16 - Жадные алгоритмы
    • Узнайте, для чего применяют жадные алгоритмы.
    • Научитесь оптимизировать алгоритмы по графам.
    • Подберите лучший алгоритм для предложенной задачи, самостоятельно решите задачу, затем аргументируйте свой выбор и решение перед лектором.

    Примечание: на момент создания темы актуальная цена не известна.

    Продажник
     
    3 пользователям это понравилось.
  2. Последние события

    1. index_master
      index_master участвует.
      7 мар 2025
    2. HouseMD
      HouseMD участвует.
      22 сен 2024
    3. Passaddhi
      Passaddhi не участвует.
      15 май 2024
    4. Heimik
      Heimik не участвует.
      13 фев 2024