Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора по САОД.docx
Скачиваний:
40
Добавлен:
28.05.2022
Размер:
1.32 Mб
Скачать
  1. Понятие фрактала.

Фрактал (лат. fractus — дробленый, сломанный, разбитый) - это объект, в точности или приближённо совпадающий с частью себя самого, то есть целое имеет ту же форму, что и одна или более частей. Примеры: звезда Коха, кривые Пеано, треуголка, фрактал Мандельброта, горящий корабль.

  1. Фрактальная размерность

Фрактальная размерность — коэффициент, описывающий фрактальные структуры или множества на основе количественной оценки иx сложности.

К примеру, возьмем кривую Коха. В начале берётся отрезок, делится на три равные части и средняя часть заменяется на два отрезка, равных изъятому. Получается ломаная из четырёх равных отрезков.На втором шаге действия повторятся с каждым из четырёх отрезков и получается ломаная из 16 отрезков.

  1. Итеративные алгоритмы

Под итерацией в общем случае понимают такой способ организации обработки данных, при котором многократно повторяется некоторая последовательность действий.

Алгоритм, основу которого составляет итерация, называется итерационным (итеративным). Примером итерационных алгоритмов являются циклические конструкции.

Примером может являться вычисление факториала.

  1. Жадные алгоритмы

Жадные алгоритмы - это такие алгоритмы, которые стремятся сделать оптимальный выбор в каждый момент времени. На каждом шагу выбирается лучший выбор, не задумываясь о будущем.

Они не смотрят в будущее, чтобы выбрать глобальное оптимальное решение. Их интересует только лучшее решение в данный момент. Но общее оптимальное решение может отличаться от решения, которое выбирает алгоритм на каждом шаге своей работы. Так же они никогда не оглядываются назад на то, что сделали, чтобы понять, нужна ли глобальная оптимизация.

Жадные алгоритмы очень быстрые. Намного быстрее, чем две другие альтернативы

  1. Поиск в ширину

❏ Берем граф

❏ Берем точку, откуда начинаем,обрабатываем ее(Сохраняем, что в ней побывали)

❏ Рассматриваем ее соседей

❏ Записываем всех соседей, к которым можно дойти(следующие после первой точки) в очередь (Двойную очередь, так как с начала забирать точку будем, а в конец добавлять)

❏ Берем с начала очереди точку, сохраняем, что в ней побывали, записываем дальше соседей, к которым можно дойти(пролегает граф или идем по стрелкам до соседней точки - это говорить не нужно, это для объяснения)

❏ И так далее, пока граф не закончится

  1. Поиск в глубину

❏ Берем граф

❏ Берем точку , откуда начинаем, обрабатываем ее

❏ Рассматриваем ее соседей и берем одного из них, обрабатываем

❏ Рассматриваем ее соседей и берем одного из них, обрабатываем

И так берем по одной точке, пока у соседей не будут необработанные соседи, то есть у нас получается из графа вот такая прямая линия

Так мы всех проходим, друг за другом, а не прыгая сначала по ВСЕМ соседям одного, потом по соседям другого и так далее

  1. Остовное дерево. Минимальное остовное дерево. Алгоритм Прима

Остовное дерево - это подграф основного графа, который состоит из тех же вершин, но не всех рёбер(так, чтобы не образовывались циклы).

Минимальное остовное дерево - это такое остовное дерево, где сумма весов его рёбер минимальна.

Алгоритм:

  1. Выбираем вершины по очереди начиная с первой.

  2. Определяем ребро с минимальным весом, которое соединено с первой вершиной.

  3. Далее смотрим ребро с минимальным весом, которое соединено или с первой вершиной или со второй найденной в предыдущем шаге.

  4. Далее повторяем шаг 3 с тремя вершинами и т. д. Нюанс: Если у нас вес рёбер на каком-то из шагов одинаков, то выбираем любое ребро, мы в любом случае получим минимальное остовное дерево.