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

Online
Middle/senior

Алгоритми і структури даних – доволі складна тема, оволодівши якою, ви зробите крок на наступний щабель в кар’єрі розробника. Після проходження курсу ви писатимете більш ефективний код та зможете правильно вибудовувати архітектуру проекту та окремих модулів, а також успішно проходити співбесіди.
Курс складається із серії відеолекцій з практичними завданнями для закріплення матеріалу.

Про курс

Програма курсу

На цьому етапі ви дізнаєтеся, чому не можна використовувати стандартне значення часу для оцінки швидкості роботи алгоритму. Ми розглянемо поняття асимптотичної складності алгоритму і навчимося визначати її на багаточисленних прикладах.

Познайомимося з основними та найбільш використовуваними структурами даних: масив, список, стек, черга, хеш-таблиця, дерево, бінарне дерево пошуку.

Розберемо велику кількість алгоритмів сортування, серед яких швидке сортування, сортування heap-sort, сортування підрахунком тощо. Оскільки алгоритм швидкого сортування користується популярністю на співбесідах, розглянемо його дуже детально (Який елемент вибрати опорним і чому? Які є схеми розбиття, їх переваги та недоліки?)

Поговоримо про дільники числа, прості числа, факторизацію. Розглянемо алгоритм Евкліда для знаходження найбільшого спільного дільника і найменшого спільного кратного. Познайомимося з алгоритмом «решето Ератосфена» для знаходження простих чисел.

Дізнаємося, що є структурою даних граф. Розглянемо сфери її застосування. Навчимося реалізовувати прості алгоритми на графах, такі як пошук у глибину і ширину, знаходження компонент зв’язності та ін.

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

Серед основних цікавих завдань, які ми розглянемо в рамках цього тренінгу, будуть знаходження площі довільного багатокутника та побудова опуклої оболонки для заданого набору точок на площині за допомогою алгоритму Грехема.

Поговоримо про хешування рядків за допомогою поліноміальної хеш-функції. Детально розберемо алгоритми Рабіна-Карпа та Кнута-Морріса-Пратта для знаходження рядка у тексті.

Розглянемо принципи балансування AVL-дерева. Вирішимо кілька популярних завдань, а також перевіримо отримані знання за допомогою вікторини.

Курс Алгоритми та структури даних у Foxminded

Як проходить навчання
  • Ви отримуєте доступ до закритих лекцій (9 лекцій, що розбиті на 2-4 короткі відео).
  • Прослуховуєте їх, вивчаєте нову цікаву інформацію.
Умови навчання
  • Необмежений доступ до курсу.
  • Відповіді на питання від автора курсу у чаті Slack протягом 3х місяців після покупки курсу.
Початкові вимоги
  • Знання однієї з сучасних мов програмування (Java, C/C++, C#, Python та ін.) на базовому рівні.
  • Практика програмування (необов’язково комерційного) від півроку. Який курс можна використовувати для підготовки? Будь-який курс програмування рівня Start (наприклад, Java Start).
Online

Online тренінг

  • Без перевірки
  • Необмежений доступ до відео-лекцій та завдань

Як проходить навчання

Реєстрація

Реєструєшся на курс

Відповіді на питання

З тобою зв’язується співробітник FoxmindEd і відповідає на всі твої питання

Доступ

Після оплати ти отримуєш доступ до відео-лекцій

Лекції та практика

Передивляєшся відеолекції від автора курсу, виконуєш практичні завдання

Є питання?

Задаєш питання автору курса в Slack та отримуєш на нього відповідь

Наступна лекція

Переходиш до наступної відео-лекції

Докладніше
Автор курсу
Басалкевич Олександр
Senior C++ Engineer
Басалкевич Олександр Автор курсу

Займаюсь розробкою програмного забезпечення у сфері Embedded medicine. Також є внутрішнім спікером та тренером компанії в рамках GlobalLogic Education. Ще у старшій школі почав займатися алгоритмічним програмуванням. Тричі був учасником півфіналу ACM ICPC.

Сертифікат про закінчення

Сертифікат про закінчення

Після закінчення курсу ми видамо вам сертифікат, що свідчить про успішне завершення програми менторингу і підтверджує вашу кваліфікацію з обраного напряму.

Записатися на курс

Зверніть увагу!
Ми не співпрацюємо з резидентами РФ та РБ!

    Виберіть курс:

    Виберіть валюту для оплати:

    Алгоритми та структури даних – актуальність курсу

    Наш курс з алгоритмів і структур даних підійде і програмістам-новачкам, і більш досвідченим колегам, які хочуть краще розібратися в темі. Ви ознайомитеся або оновите в пам’яті основні структури даних та їх особливості. Структурування даних стає ключовим фактором для скорочення часу виконання програми, що дозволяє створювати більш елегантні рішення та чистий код.

    Уміння працювати з алгоритмами дозволяє оцінювати їх ефективність, швидкість та використання пам’яті. Крім цього, ви навчитеся створювати алгоритми з нуля та за їх допомогою оптимізувати продуктивність коду. А ще у вас виробиться здатність аналізувати завдання та підбирати оптимальний алгоритм для її вирішення, адже код – це інструмент, а не самоціль.

    Коли ви освоїтеся з алгоритмами, ви будете впевненіше вирішувати звичайні побутові завдання та успішніше проходити співбесіди. У великих компаніях дуже люблять пропонувати здобувачеві висловити ідею через алгоритм або порівняння різних способів рішення. Це вважається базовою навичкою гарного інженера.

     

    Чому варто вивчати алгоритми та структури даних разом з FoxmindEd

     

    Компанія FoxmindEd розробляє навчальні курси на основі реального досвіду роботи в технологічних компаніях та актуальних бізнес-потреб замовників. Ми навчаємо мовам, методам та технологіям програмування, які використовуються прямо зараз.

    Автор курсу з алгоритмів та структур даних, Олександр Басалкевич, працює Senior C++ Developer у найбільшій українській компанії Global Logic. Крім того, Олександр є внутрішнім спікером та тренером компанії в рамках GlobalLogic Education. Об’єднана експертиза FoxmindEd та Олександра Басалкевича – ось гарантія якості цього курсу.