Тема 1. Введение в алгоритмизацию
1.1 Понятие алгоритма.
1.1 Критерии оценивания алгоритмов.
1.2 Нотация O(n).
1.3 Методы сравнения алгоритмов и их программной реализации.
Тема 2. Структуры данных и подходы к их организации
2.1 Роль организации данных в программе.
2.2 Основные виды структур данных.
2.3 Использование стандартных библиотек и классов и программирование пользовательских классов.
2.4 Динамическое управление данными.
Практические занятия:
Решение практических задач по теме: обзор библиотек и классов для использования структур данных.
Тема 3. Рекурсивные алгоритмы
3.1 Понятие рекурсии.
3.2 Прямая и косвенная рекурсия.
3.3 Стоп-условие рекурсии.
3.4 Глубина рекурсии.
3.5 Примеры решения задач.
Практические занятия:
Решение практических задач по теме рекурсивные алгоритмы.
Тема 4. Алгоритмы работы с массивами
4.1 Объявление и работа с массивами.
4.2 Поиск и выборка элемента (элементов) в массиве.
4.3 Различные способы сортировки элементов массива.
4.4 Слияние массивов.
4.5 Использование ступенчатых массивов.
Практические занятия:
Алгоритмы работы с массивами.
Тема 5. Списки
5.1 Понятие списка.
5.2 Отличие списка и массива.
5.3 Виды списков: однонаправленный, двунаправленный, кольцевой.
5.4 Алгоритмы работы со списками.
Практические занятия:
Объявление и использование списков.
Тема 6. Стеки и очереди
6.1 Особые виды списков: стеки и очереди.
6.2 Правила доступа к элементам.
6.3 Примеры использования.
Практические занятия:
Практические занятия по темам: стеки и очереди.
Тема 7. Хеширование. Словари
7.1 Понятие хеширование, хеш-функция, хеш-код.
7.2 Хеширование закрытое и открытое.
7.3 Использование хеш-таблиц.
7.4 Словари Использование словарей.
Практические занятия:
Использование хеширования и словарей.
Тема 8. Алгоритмы обработки строк
8.1 Подходы к обработке строк – стандартные функции, работа как с массивом, регулярные выражения.
8.2 Поиск подстроки в строке.
8.3 Обработка строк.
Практические занятия:
Практические занятия по теме обработка строк.
Тема 9. Деревья (обзорно)
9.1 Деревья Виды деревьев и особенности их реализации.
9.2 Области применения деревьев.
Практические занятия:
Практические занятия не предусмотрены.