Детальніше про курс
Алгоритмы и структуры данных — довольно сложная тема, освоив которую, вы шагнете на следующую ступень в карьере разработчика.
Сертифікат | |
Занять | 42 |
Тип навчання | online |
Вступний іспит | |
Перевірка домашнього завдання | |
Дипломний проект | |
Допомога в працевлаштуванні | |
Вікова категорія | для дорослих |
Мова | Русский |
Чого ви навчитеся на цьому курсі?
1. Асимптотична складність алгоритму
- На цьому етапі ви дізнаєтеся, чому не можна використовувати стандартне значення часу для оцінки швидкості роботи алгоритму. Ми розглянемо поняття асимптотичної складності алгоритму і навчимося визначати її на багаточисленних прикладах.
2. Структури даних
- Познайомимося з основними та найбільш використовуваними структурами даних: масив, список, стек, черга, хеш-таблиця, дерево, бінарне дерево пошуку.
3. Алгоритми сортування
- Розберемо велику кількість алгоритмів сортування, серед яких швидке сортування, сортування heap-sort, сортування підрахунком тощо. Оскільки алгоритм швидкого сортування користується популярністю на співбесідах, розглянемо його дуже детально (Який елемент вибрати опорним і чому? Які є схеми розбиття, їх переваги та недоліки?)
4. Основи теорії чисел
- Поговоримо про дільники числа, прості числа, факторизацію. Розглянемо алгоритм Евкліда для знаходження найбільшого спільного дільника і найменшого спільного кратного. Познайомимося з алгоритмом «решето Ератосфена» для знаходження простих чисел.
5. Алгоритми на графах (Частина 1)
- Дізнаємося, що є структурою даних граф. Розглянемо сфери її застосування. Навчимося реалізовувати прості алгоритми на графах, такі як пошук у глибину і ширину, знаходження компонент зв’язності та ін.
6. Алгоритми на графах (Частина 2)
- Розберемося, як працюють складніші алгоритми на графах: алгоритм Дейкстри та алгоритм Прима. Навчимося знаходити мости та точки зчленування для заданого графа.
7. Геометричні задачі
- Серед основних цікавих завдань, які ми розглянемо в рамках цього тренінгу, будуть знаходження площі довільного багатокутника та побудова опуклої оболонки для заданого набору точок на площині за допомогою алгоритму Грехема.
8. Пошук в тексті
- Поговоримо про хешування рядків за допомогою поліноміальної хеш-функції. Детально розберемо алгоритми Рабіна-Карпа та Кнута-Морріса-Пратта для знаходження рядка у тексті.
9. Постскриптум
- Розглянемо принципи балансування AVL-дерева. Вирішимо кілька популярних завдань, а також перевіримо отримані знання за допомогою вікторини.
Про компанію Учебный центр FoxmindEd
ПОЧЕМУ КУРСЫ FOXMINDED?
Менторинг – самая эффективная методика. При обучении с ментором студент решает задачи самостоятельно, а ментор помогает справиться со сложностями. Это эффективнее, чем курсы лекций или задачи для самостоятельного решения.
Менторы-профессионалы. Ментор – это не учитель-теоретик, а специалист-практик уровня middle и senior, который работает над сходными задачами, знает индустрию изнутри, ее подводные камни и лучшие практики.
Обучение на проекте. Вы не платите за прослушивание лекций, это ведь можно сделать и бесплатно.
Задачи из реальной жизни. Мы не сочиняем абстрактные задания, а берем конкретные задачи, с которыми сталкивается разработчик при работе с клиентами, и которые ждут разработчика в дальнейшем.
Обучение онлайн. Наше обучение изначально создавалось как дистанционное, мы несколько лет работаем в онлайне, и наши учебные процессы уже отработаны до совершенства.
Проект в CV. После прохождения наших курсов с обучением на проекте новичок получает первые месяцы опыта и минимум один проект в портфолио.
Відгуки Учебный центр FoxmindEd
ПОЧЕМУ КУРСЫ FOXMINDED?
Менторинг – самая эффективная методика. При обучении с ментором студент решает задачи самостоятельно, а ментор помогает справиться со сложностями. Это эффективнее, чем курсы лекций или задачи для самостоятельного решения.
Менторы-профессионалы. Ментор – это не учитель-теоретик, а специалист-практик уровня middle и senior, который работает над сходными задачами, знает индустрию изнутри, ее подводные камни и лучшие практики.
Обучение на проекте. Вы не платите за прослушивание лекций, это ведь можно сделать и бесплатно.
Задачи из реальной жизни. Мы не сочиняем абстрактные задания, а берем конкретные задачи, с которыми сталкивается разработчик при работе с клиентами, и которые ждут разработчика в дальнейшем.
Обучение онлайн. Наше обучение изначально создавалось как дистанционное, мы несколько лет работаем в онлайне, и наши учебные процессы уже отработаны до совершенства.
Проект в CV. После прохождения наших курсов с обучением на проекте новичок получает первые месяцы опыта и минимум один проект в портфолио.