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

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

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

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

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

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

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

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

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

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

Online тренінг

Без перевірки

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

вартість

2950 грн. $115

реєстрація

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

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

Ви отримуєте доступ до закритих лекцій (9 лекцій, що розбиті на 2-4 короткі відео). Прослуховуєте їх, вивчаєте нову цікаву інформацію.

Умови навчання

Умови навчання

Необмежений доступ до курсу. Відповіді на питання від автора курсу у чаті Slack протягом 3х місяців після покупки курсу.

Початкові вимоги?

Початкові вимоги?

Знання однієї з сучасних мов програмування (Java, C/C++, C#, Python та ін.) на базовому рівні. Практика програмування (необов'язково комерційного) від півроку. Який курс можна використовувати для підготовки? Будь-який курс програмування рівня Start (наприклад, Java Start).

Автор курсу - Басалкевич Олександр

Автор курсу

Senior C++ Engineer у GlobalLogic

Басалкевич Олександр

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

Практичні завдання на курсі:

  • Реалізація структур даних (список, черга, стек, хеш-таблиця, бінарне дерево пошуку)
  • Імплементація алгоритмів сортування (Quick Sort, Heap Sort та ін.)
  • Імплементація базових алгоритмів на графі (обходи в глибину та в ширину, пошук компонентів зв'язності, пошук шляху між двома вершинами графа, пошук найкоротшої відстані між двома вершинами у неорієнтованому графі)
  • Реалізація складніших алгоритмів на графі (алгоритм Дейкстри, алгоритм Прима, пошук мостів та точок зчленування)
  • Знаходження площі довільного багатокутника; реалізація алгоритму побудови опуклої оболонки для набору точок на площині
  • Реалізація алгоритмів Рабіна-Карпа та Кнута-Морріса-Пратта для оптимального знаходження рядка в тексті.

Реєстрація

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

01

Реєстрація

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

01
02

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

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

03

Доступ

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

03
04

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

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

04
05

Є питання?

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

06

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

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

06

Засновник компанії відповість
на поширені запитання

Сергій Немчинський — наймудріший лис в FoxmindEd, який 20 років працював програмістом. Майже 15 з них – в Java. Сергій був Project Manager в Ciklum, Team Leader в Luxoft, NetCracker і IntroPro

Підписатися на канал

більше 200 тис. підписників

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


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

    * UAH - тільки для резидентів України


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

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

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

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

     

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

     

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

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

    Связаться с нами

    Связаться
    с нами