Структуры данных и алгоритмы-вводают
Это краткое изложение моих знаний из курса Udemy: «Структуры данных и Algo в Swift»
Сложность времени:
- Постоянное время
- Линейное время
- Квадратичное время
- Логарифмическое время - двоичный поиск
- Квазилинейное время
Узел:
- Корень
- Ребенок -> левый ребенок и правый ребенок
- Лист
Связанный список
Элементы подключены друг к другу с помощью ссылки, называемых узлами
1 -й узел в связанном списке называется Head
Последний узел называется хвостовым узлом
Операции: - push - adpend - insert - pop - removelast - удалить
Стек (lifo)
Очередь (FIFO)
- Заглядывать
- Энкеуэ
- Dequeue
Рекурсия
- Базовый случай - который останавливает рекурсию.
- Рекурсивный случай
Деревья:
- Глубина первого обхода
- Уровень порядок прохождения
- Поиск
- Бинарное дерево (может иметь максимум: только 2 детей - слева и справа)
- В порядке пересечения -> Leatschild -> Node -> Rightchild
- ОБЛУЧЕНИЕ ОПИСАТЬ ОБРАЩЕНИЕ
- Pre Order Traversal -> Node -> Leathchild -> Rightchild
- Дерево бинарного поиска
Линейный поиск
Бинарный поиск
- Отсортированный массив
- Средний индекс - слева или справа
- Лучшее время: O (1)
- Худшее время: o (log n)
Пузырьковые сортировки
- Несортированный
- Лучшее время: O (n) (если уже отсортировано)
- Худшее время: O (n^2)
Выбор сортировки
- Обмениваться минимальным элементом в массиве с индексом тока
- Перейдите к следующему индексу и повторите шаг 1
- Лучшее время: O (n^2)
- Худшее время: O (n^2)
Вставка сортировки
- Несортированный
- Лучшее время: O (n)
- Худшее время: O (n^2)
График:
Состоят из
- Вершины / вершина
- Края / край
Типы графиков:
- Взвешенные графики
- Направленные графики
- Недовые графики (двунаправленные)
Список смежности
- Чаще всего/широко используемый способ создания и представления графика