Базовые знания программирования — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) (→Алгоритмы) |
Vshpagin (обсуждение | вклад) (→Алгоритмы) |
||
Строка 9: | Строка 9: | ||
** [[Циклы (`for`, `while`, `do-while`)]]. | ** [[Циклы (`for`, `while`, `do-while`)]]. | ||
*Алгоритмы сортировки: | *Алгоритмы сортировки: | ||
− | ** Сортировка пузырьком (Bubble Sort). | + | ** [[Сортировка пузырьком (Bubble Sort)]]. |
− | ** Сортировка вставками (Insertion Sort). | + | ** [[Сортировка вставками (Insertion Sort)]]. |
− | ** Сортировка выбором (Selection Sort). | + | ** [[Сортировка выбором (Selection Sort)]]. |
− | ** Быстрая сортировка (Quick Sort). | + | ** [[Быстрая сортировка (Quick Sort)]]. |
− | ** Сортировка слиянием (Merge Sort). | + | ** [[Сортировка слиянием (Merge Sort)]]. |
*Алгоритмы поиска: | *Алгоритмы поиска: | ||
− | ** Линейный поиск. | + | ** [[Линейный поиск]]. |
− | ** Бинарный поиск. | + | ** [[Бинарный поиск]]. |
*Рекурсия: | *Рекурсия: | ||
** Определение и примеры. | ** Определение и примеры. | ||
− | ** Базовый случай и рекурсивный вызов. | + | ** [[Базовый случай и рекурсивный вызов]]. |
*Анализ сложности алгоритмов: | *Анализ сложности алгоритмов: | ||
− | ** Нотация "O" (Big O notation). | + | ** [[Нотация "O" (Big O notation)]]. |
− | ** Временная сложность. | + | ** [[Временная сложность]]. |
− | ** Пространственная сложность. | + | ** [[Пространственная сложность]]. |
=Структуры данных= | =Структуры данных= |
Версия 16:15, 8 марта 2025
Алгоритмы
- Определение алгоритма:
- Чёткая последовательность инструкций для решения задачи.
- Характеристики: конечность, определённость, эффективность.
- Основные алгоритмические конструкции:
- Алгоритмы сортировки:
- Алгоритмы поиска:
- Рекурсия:
- Определение и примеры.
- Базовый случай и рекурсивный вызов.
- Анализ сложности алгоритмов:
Структуры данных
- Основные типы данных:
- Целые числа (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).
- Хеш-таблицы:
- Хеш-функции.
- Коллизии и методы их разрешения.
Дополнительные темы
- Парадигмы программирования:
- Императивное программирование.
- Объектно-ориентированное программирование (ООП).
- Функциональное программирование.
- Работа с файлами:
- Чтение из файла.
- Запись в файл.
- Отладка программ:
- Использование отладчика.
- Поиск и исправление ошибок.
- Тестирование программ:
- Юнит-тестирование.
- Интеграционное тестирование.