Базовые знания программирования
Материал из m6a
Алгоритмы
- Определение алгоритма:
- Чёткая последовательность инструкций для решения задачи.
- Характеристики: конечность, определённость, эффективность.
- Основные алгоритмические конструкции:
- Алгоритмы сортировки:
- Алгоритмы поиска:
- Рекурсия:
- Определение и примеры.
- Базовый случай и рекурсивный вызов.
- Анализ сложности алгоритмов:
Структуры данных
- Основные типы данных:
- Целые числа (Integer).
- Числа с плавающей точкой (Float).
- Строки (String).
- Логические значения (Boolean).
- Массивы:
- Одномерные массивы.
- Многомерные массивы.
- Операции над массивами.
- Связные списки:
- Односвязные списки.
- Двусвязные списки.
- Операции: вставка, удаление, поиск.
- Стеки:
- Принцип LIFO (Last In, First Out).
- Операции: push, pop, peek.
- Очереди:
- Принцип FIFO (First In, First Out).
- Операции: enqueue, dequeue.
- Деревья:
- Бинарные деревья.
- Деревья поиска.
- Операции: вставка, удаление, поиск.
- Обходы деревьев (in-order, pre-order, post-order).
- Графы:
- Представление графов (матрица смежности, список смежности).
- Поиск в ширину (BFS).
- Поиск в глубину (DFS).
- Хеш-таблицы:
- Хеш-функции.
- Коллизии и методы их разрешения.
Дополнительные темы
- Парадигмы программирования:
- Императивное программирование.
- Объектно-ориентированное программирование (ООП).
- Функциональное программирование.
- Работа с файлами:
- Чтение из файла.
- Запись в файл.
- Отладка программ:
- Использование отладчика.
- Поиск и исправление ошибок.
- Тестирование программ:
- Юнит-тестирование.
- Интеграционное тестирование.