Открыто

Алгоритмы и структуры данных [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. Passaddhi
      Passaddhi не участвует.
      15 май 2024
    2. Heimik
      Heimik не участвует.
      13 фев 2024
    3. akafloa
      akafloa участвует.
      13 фев 2024
    4. skladchik.com
      В складчине участвует 30 человек(а).
      15 сен 2023