На цьому етапі ви дізнаєтеся, чому не можна використовувати стандартне значення часу для оцінки швидкості роботи алгоритму. Ми розглянемо поняття асимптотичної складності алгоритму і навчимося визначати її на багаточисленних прикладах.
Познайомимося з основними та найбільш використовуваними структурами даних: масив, список, стек, черга, хеш-таблиця, дерево, бінарне дерево пошуку.
Розберемо велику кількість алгоритмів сортування, серед яких швидке сортування, сортування heap-sort, сортування підрахунком тощо. Оскільки алгоритм швидкого сортування користується популярністю на співбесідах, розглянемо його дуже детально (Який елемент вибрати опорним і чому? Які є схеми розбиття, їх переваги та недоліки?)
Поговоримо про дільники числа, прості числа, факторизацію. Розглянемо алгоритм Евкліда для знаходження найбільшого спільного дільника і найменшого спільного кратного. Познайомимося з алгоритмом «решето Ератосфена» для знаходження простих чисел.
Дізнаємося, що є структурою даних граф. Розглянемо сфери її застосування. Навчимося реалізовувати прості алгоритми на графах, такі як пошук у глибину і ширину, знаходження компонент зв’язності та ін.
Розберемося, як працюють складніші алгоритми на графах: алгоритм Дейкстри та алгоритм Прима. Навчимося знаходити мости та точки зчленування для заданого графа.
Серед основних цікавих завдань, які ми розглянемо в рамках цього тренінгу, будуть знаходження площі довільного багатокутника та побудова опуклої оболонки для заданого набору точок на площині за допомогою алгоритму Грехема.
Поговоримо про хешування рядків за допомогою поліноміальної хеш-функції. Детально розберемо алгоритми Рабіна-Карпа та Кнута-Морріса-Пратта для знаходження рядка у тексті.
Розглянемо принципи балансування AVL-дерева. Вирішимо кілька популярних завдань, а також перевіримо отримані знання за допомогою вікторини.
Після проходження курсу ми видамо вам сертифікат, що свідчить про успішне завершення навчання на курсі “Алгоритми і структури даних”.
Online тренінг
Реєструєтесь на курс
З вами зв’язується співробітник і відповідає на всі ваші питання
Після оплати ви отримуєте доступ до відео-лекцій
Передивляєтесь відеолекції від автора курсу, виконуєте практичні завдання
Задаєте питання автору курса в Zulip та отримуєте на нього відповідь
Переходите до наступної відео-лекції
Наш курс з алгоритмів і структур даних підійде і програмістам-новачкам, і більш досвідченим колегам, які хочуть краще розібратися в темі. Ви ознайомитеся або оновите в пам’яті основні структури даних та їх особливості. Структурування даних стає ключовим фактором для скорочення часу виконання програми, що дозволяє створювати більш елегантні рішення та чистий код.
Уміння працювати з алгоритмами дозволяє оцінювати їх ефективність, швидкість та використання пам’яті. Крім цього, ви навчитеся створювати алгоритми з нуля та за їх допомогою оптимізувати продуктивність коду. А ще у вас виробиться здатність аналізувати завдання та підбирати оптимальний алгоритм для її вирішення, адже код – це інструмент, а не самоціль.
Коли ви освоїтеся з алгоритмами, ви будете впевненіше вирішувати звичайні побутові завдання та успішніше проходити співбесіди. У великих компаніях дуже люблять пропонувати здобувачеві висловити ідею через алгоритм або порівняння різних способів рішення. Це вважається базовою навичкою гарного інженера.
Навчальний центр FoxmindEd розробляє навчальні курси на основі реального досвіду роботи в технологічних компаніях та актуальних бізнес-потреб замовників. Ми навчаємо мовам, методам та технологіям програмування, які використовуються прямо зараз.
Автор курсу з алгоритмів та структур даних, Олександр Басалкевич, працює Senior C++ Developer у найбільшій українській компанії Global Logic. Крім того, Олександр є внутрішнім спікером та тренером компанії в рамках GlobalLogic Education. Об’єднана експертиза FoxmindEd та Олександра Басалкевича – ось гарантія якості цього курсу.
В курсі 42 відеолекції сумарною тривалістю 6 годин. Зазвичай, наші студенти проходять курсу за 5-6 тижнів, приділяючи навчанню до 1 години вільного часу в день.
Так, оскільки після покупки курсу ви отримуєте необмежений доступ до курсу, тому можете розпочати навчання у будь-який момент та зручний для час.
Так, під час навчання з вами на зв'язку буде особистий менеджер, що допомагатиме вирішувати організаційні питання. Також ми додамо вас до корпоративного чату Zulip, де буде присутній ментор, який допоможе вирішити ваші питання стосовно курсу.
Перевірки практичних завдань немає, однак, якщо у вас виникнуть труднощі - у вас буде чат з учасниками курсу та ментором, що допоможуть розібратися в темі.
За умовами нашої Оферти повернути кошти за придбаний курс після його відкриття буде неможливо. На нашому сайті є представлення LMS, щоб ви могли оцінити якість подачі інформації та стиль викладання автора перед прийняттям рішення про покупку курсу.