1 Основні поняття мови програмування
2 Логіка мови програмування
3 Організація циклів
4 Функції. Формальні та фактичні параметри
5 Масиви.
6 Масиви символів, рядкові величини.
7 Рекурсивні функції.
8 Використання множин.
10 Робота з файлами даних.
11 Структури даних. Записи.
|
1. Геометрія
Відрізок Пряма Трикутник Багатокутник. Коло
2. Довга арифметика
Подання довгих чисел. Порівняння довгих чисел
Арифметичні операції із довгими числами.
Алгоритм добування квадратного кореня із довгого числа
3. Комбінаторні алгоритми
Поняття комбінаторних алгоритмів
Генерація комбінаторних об'єктів
4. Перебір варіантів
Перебір. Методи оптимізації перебору.
Метод меж і гілок
5. Динамічне програмування
Принцип оптимальності. Класичні задачі динамічного програмування.
Побудова динамічних таблиць проміжних результатів
Приклади задач на лінійну динаміку. Двомірна динаміка.
6. Жадібні алгоритми
Евристичні алгоритми. Принцип «жадібності»
Приклади задач
7. Структури даних
Структура даних: запис, лінійний список, стек, черга, дек.
Дерева. Впорядковане дерево. Обхід дерева. Додавання / видалення елемента.
Двійкові дерева, дерево пошуку. Обхід двійкового дерева. Пошук елемента у дереві пошуку.
Характеристики купи. Задачі на використання структур даних.
8. Обробка тексту
Функції обробки тексту. По символьна обробка тексту.
Пошук заданого підрядка в тексті. Алгоритм Бойєра-Мура.
Використання хеш-функції для пошуку довільного підрядка у рядку
Рекурсивний синтаксичний аналіз виразів із дужками.
9. Алгоритми на графах
Графи та способи їх представлення.
Способи обходу графа: обхід в ширину та обхід в глибину
Алгоритми на основі обходів графа
Побудова кістякового дерева мінімальної ваги
Найкоротший шлях
Задачі на знаходження найкоротших шляхів.
Пошук компонентів зв'язності
|