Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Алгоритмы на графах. Топологическая сортировка поиском в глубину

Домашнее заданиеПредприятие «Авто-2010» выпускает двигатели известных во всём мире автомобилей. Двигатель состоит ровно из n деталей, пронумерованных от 1 до n, при этом деталь с номером i изготавливается за pi секунд. Специфика предприятия «Авто-2010» заключается в
Алгоритмы на графахТопологическая сортировка поиском в глубинуЮгов Иван ОлеговичМОУ Гимназия №10, г. Тверь Домашнее заданиеПредприятие «Авто-2010» выпускает двигатели известных во всём мире автомобилей. Двигатель состоит Домашнее заданиеПервая строка входного файла details.in содержит число n (1 ≤ n ≤ 10 000) — количество Домашнее задание Топологическая сортировкаДля топологической сортировки можно использовать поиск в глубину.Используем поиск в глубину Топологическая сортировка Топологическая сортировкаПочему так происходит?Не бывает рёбер из вершин, которые были покинуты раньше, Топологическая сортировкаРассмотрим момент времени, когда мы покидаем A (но ещё не покинули Топологическая сортировка253416987Альтернативное начало —фиктивная вершина.0 Топологическая сортировкаЕсли оказалось, что граф содержит циклы:как будет вести себя алгоритм топологической Домашнее заданиеКакое максимальное количество рёбер может быть в ориентированном ациклическом графе с ИсточникиКурс «Базовые алгоритмы для школьников» (Станкевич А. С., Абакумов К. В., Мухачёва М. А.)«Интернет-уинверситет информационных технологий»http://www.intuit.ru/department/algorithms/basicalgos/
Слайды презентации

Слайд 2 Домашнее задание
Предприятие «Авто-2010» выпускает двигатели известных во всём

Домашнее заданиеПредприятие «Авто-2010» выпускает двигатели известных во всём мире автомобилей. Двигатель

мире автомобилей. Двигатель состоит ровно из n деталей, пронумерованных

от 1 до n, при этом деталь с номером i изготавливается за pi секунд. Специфика предприятия «Авто-2010» заключается в том, что там одновременно может изготавливаться лишь одна деталь двигателя. Для производства некоторых деталей необходимо иметь предварительно изготовленный набор других деталей.
Генеральный директор «Авто-2010» поставил перед предприятием амбициозную задачу — за наименьшее время изготовить деталь с номером 1, чтобы представить её на выставке.
Требуется написать программу, которая по заданным зависимостям порядка производства между деталями найдёт наименьшее время, за которое можно произвести деталь с номером 1.


Слайд 3 Домашнее задание
Первая строка входного файла details.in содержит число

Домашнее заданиеПервая строка входного файла details.in содержит число n (1 ≤ n ≤ 10 000) —

n (1 ≤ n ≤ 10 000) — количество деталей двигателя. Вторая строка содержит

n натуральных чисел p1, p2, …, pn, определяющих время изготовления каждой детали в секундах. Время для изготовления каждой детали не превосходит 109 секунд. Каждая из последующих n строк входного файла описывает характеристики производства деталей. Здесь i-я строка содержит число деталей ki, которые требуются для производства детали с номером i, а также их номера. Сумма всех чисел ki не превосходит 200000. Известно, что не существует циклических зависимостей в производстве деталей.
В первой строке выходного файла details.out должны содержаться два числа: минимальное время ( в секундах), необходимое для скорейшего производства детали с номером 1 и число k деталей, которые необходимы для этого производства. Во второй строке требуется вывести через пробел k чисел — номера деталей в том порядке, в котором их следует производить для скорейшего производтсва детали с номером 1.
Ограничение по времени — 2 сек. Ограничение по памяти — 64 Мб.

Слайд 4 Домашнее задание

Домашнее задание

Слайд 5 Топологическая сортировка
Для топологической сортировки можно использовать поиск в

Топологическая сортировкаДля топологической сортировки можно использовать поиск в глубину.Используем поиск в

глубину.
Используем поиск в глубину от всех вершин со входящей

степенью 0. Будем нумеровать вершины, из которых выходим, в обратном порядке.

При этом окажется, что граф отсортирован топологически.


Слайд 6 Топологическая сортировка

Топологическая сортировка

Слайд 7 Топологическая сортировка
Почему так происходит?
Не бывает рёбер из вершин,

Топологическая сортировкаПочему так происходит?Не бывает рёбер из вершин, которые были покинуты

которые были покинуты раньше, в вершины, которые были покинуты

позже.

Как это доказать?

Предположим, что это не так.
Пусть имеются вершины A и B, причём в процессе DFS вершина A была покинута раньше, чем вершина B. Пусть теперь существует ребро из A в B.


Слайд 8 Топологическая сортировка
Рассмотрим момент времени, когда мы покидаем A

Топологическая сортировкаРассмотрим момент времени, когда мы покидаем A (но ещё не

(но ещё не покинули B).
Два случая:
Покидаем A и

ещё не посещали B.
Покидаем A и посетили B.

Однако:
Из чёрной вершины в белую не бывает рёбер.
Есть серый путь из B в A, что с ребром из A в B даёт цикл, но граф ациклический.


Слайд 9 Топологическая сортировка
2
5
3
4
1
6
9
8
7
Альтернативное начало —
фиктивная вершина.
0

Топологическая сортировка253416987Альтернативное начало —фиктивная вершина.0

Слайд 10 Топологическая сортировка
Если оказалось, что граф содержит циклы:
как будет

Топологическая сортировкаЕсли оказалось, что граф содержит циклы:как будет вести себя алгоритм

вести себя алгоритм топологической сортировки отсечением вершин?
как будет вести

себя алгоритм топологической сортировки поиском в глубину?

Слайд 11 Домашнее задание
Какое максимальное количество рёбер может быть в

Домашнее заданиеКакое максимальное количество рёбер может быть в ориентированном ациклическом графе

ориентированном ациклическом графе с n вершинами?
Может ли быть так,

что правильным результатом топологической сортировки графа оказывается любой порядок его вершин?
Решить задачу о производстве деталей с помощью DFS.
Как использовать топологическую сортировку для определения наличия циклов в графе?

  • Имя файла: algoritmy-na-grafah-topologicheskaya-sortirovka-poiskom-v-glubinu.pptx
  • Количество просмотров: 156
  • Количество скачиваний: 2