- Алгоритмы на графах: определение наличия циклов в графе

Презентация "Алгоритмы на графах: определение наличия циклов в графе" по информатике – проект, доклад

Слайд 1
Слайд 2
Слайд 3
Слайд 4
Слайд 5
Слайд 6
Слайд 7
Слайд 8
Слайд 9
Слайд 10

Презентацию на тему "Алгоритмы на графах: определение наличия циклов в графе" можно скачать абсолютно бесплатно на нашем сайте. Предмет проекта: Информатика. Красочные слайды и иллюстрации помогут вам заинтересовать своих одноклассников или аудиторию. Для просмотра содержимого воспользуйтесь плеером, или если вы хотите скачать доклад - нажмите на соответствующий текст под плеером. Презентация содержит 10 слайд(ов).

Слайды презентации

Алгоритмы на графах Определение наличия циклов в графе Югов Иван Олегович МОУ Гимназия №10, г. Тверь
Слайд 1

Алгоритмы на графах Определение наличия циклов в графе Югов Иван Олегович МОУ Гимназия №10, г. Тверь

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

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

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

Циклы и топологическая сортировка. Если в графе есть циклы, то топологическая сортировка невозможна. Если граф ациклический, то можно выполнить топологическую сортировку. Как с помощью топологической сортировки определить наличие циклов в графе? Pascal Cycles := False; for i := 1 to n do for j := 1
Слайд 3

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

Если в графе есть циклы, то топологическая сортировка невозможна.

Если граф ациклический, то можно выполнить топологическую сортировку.

Как с помощью топологической сортировки определить наличие циклов в графе?

Pascal Cycles := False; for i := 1 to n do for j := 1 to n do if A[i, j] and (order[j] > order[i]) then Cycles := True;

C Cycles = FALSE; for(i = 0; i order[i])) Cycles = TRUE;

Поиск циклов в графе. Используем DFS для нахождения графа. Если из текущей вершины есть путь в серую вершину, то имеем цикл. Если в графе есть цикл, то почему DFS обязательно его найдёт?
Слайд 4

Поиск циклов в графе

Используем DFS для нахождения графа. Если из текущей вершины есть путь в серую вершину, то имеем цикл.

Если в графе есть цикл, то почему DFS обязательно его найдёт?

Рассмотрим цикл и момент, когда покидаем первую вершину в нём. Возвращаться будем из вершины X в вершину Y, поочерёдно окрашивая вершины в цикле в чёрный цвет.
Слайд 5

Рассмотрим цикл и момент, когда покидаем первую вершину в нём.

Возвращаться будем из вершины X в вершину Y, поочерёдно окрашивая вершины в цикле в чёрный цвет.

Как определить сам цикл? Сделаем стек. При заходе в вершину помещаем её в стек, при выходе — забираем её оттуда. массив stack длины n — стек вершин; sp — указатель вершины стека (число элементов в нём). Pascal sp := 0; Push(v): Inc(sp); stack[sp] := v; Pop: Dec(sp); C sp = 0; Push(v): stack[++sp - 1
Слайд 6

Как определить сам цикл?

Сделаем стек. При заходе в вершину помещаем её в стек, при выходе — забираем её оттуда. массив stack длины n — стек вершин; sp — указатель вершины стека (число элементов в нём).

Pascal sp := 0; Push(v): Inc(sp); stack[sp] := v; Pop: Dec(sp);

C sp = 0; Push(v): stack[++sp - 1] = v; Pop: sp--;

Pascal for i := 1 to n do color[i] := WHITE; rm := False; found := False; DFS(1); DFS(v): color[v] := GRAY; Push(v); for  do if not Found then if color[u] = WHITE then DFS(u) else if color[u] = GRAY then begin Found := True; cc := u; rm := True; end; if Found then ; color[v] := BLACK; Pop;. C for(i
Слайд 7

Pascal for i := 1 to n do color[i] := WHITE; rm := False; found := False; DFS(1); DFS(v): color[v] := GRAY; Push(v); for do if not Found then if color[u] = WHITE then DFS(u) else if color[u] = GRAY then begin Found := True; cc := u; rm := True; end; if Found then ; color[v] := BLACK; Pop;

C for(i = 0; i ) if(!Found) if(color[u] == WHITE) DFS(u); else if(color[u] == GRAY) { rm = Found = TRUE; cc = u; }; if(Found) ; color[v] = BLACK; Pop;

Как запомнить все вершины, из которых выходим? Сделаем второй стек. Если цикл найден, то помещаем во второй стек все покидаемые вершины, пока не встретим вершину cc. массив stack2 длины n — стек вершин в прямом порядке; sp2 — указатель вершины второго стека. Pascal sp2 := 0; : if rm then begin rm :=
Слайд 8

Как запомнить все вершины, из которых выходим?

Сделаем второй стек. Если цикл найден, то помещаем во второй стек все покидаемые вершины, пока не встретим вершину cc. массив stack2 длины n — стек вершин в прямом порядке; sp2 — указатель вершины второго стека.

Pascal sp2 := 0; : if rm then begin rm := rm and (v cc); Inc(sp2); stack2[sp2] := v; end;

C sp2 = 0; : if(rm) { rm &= v != cc; stack[++sp - 1] = v; };

В первой строке файла input.txt заданы целые n и m — соответственно число вершин и число рёбер ориентированного графа (1 ≤ n ≤ 10 000, 0 ≤ m ≤ 50 000). В следующих m строках файла заданы пары номеров вершин, соединённых рёбрами. В файл output.txt вывести последовательность номеров вершин, соответств
Слайд 9

В первой строке файла input.txt заданы целые n и m — соответственно число вершин и число рёбер ориентированного графа (1 ≤ n ≤ 10 000, 0 ≤ m ≤ 50 000). В следующих m строках файла заданы пары номеров вершин, соединённых рёбрами. В файл output.txt вывести последовательность номеров вершин, соответствующих любому циклу в графе. Если граф ациклический, то вывести 0. Ограничение по времени — 1 сек. Ограничение по памяти — 16 Мб.

Верно ли утверждение, что из всех циклов в графе, проходящих через начальную вершину, DFS прежде всего находит цикл минимальной длины? Привести доказательство или контрпример. Решить задачу об определении наличия циклов в ориентированном графе проверкой рёбер: в выходной файл вывести 1, если в графе
Слайд 10

Верно ли утверждение, что из всех циклов в графе, проходящих через начальную вершину, DFS прежде всего находит цикл минимальной длины? Привести доказательство или контрпример. Решить задачу об определении наличия циклов в ориентированном графе проверкой рёбер: в выходной файл вывести 1, если в графе есть циклы, и 0 в противном случае. Выполнить п. 2 для неориентированного графа. Решить задачу об отыскании цикла в ориентированном графе с помощью DFS без использования второго стека.

Список похожих презентаций

Алгоритмы в нашей жизни

Алгоритмы в нашей жизни

МОУ « Тучковская средняя общеобразовательная школа № 2». Цели урока «Алгоритмы в нашей жизни»: Привить навыки составления алгоритмов. Показать способы ...
Алгоритмы сжатия. Алгоритм построения орграфа Хаффмана

Алгоритмы сжатия. Алгоритм построения орграфа Хаффмана

Давид Хаффман (1925-1999) Давид начал свою научную карьеру студентом в Массачусетсом технологическом институте (MIT), где построил свои коды в начале ...
Алгоритмы в нашей жизни

Алгоритмы в нашей жизни

В обычной жизни. Каждый из нас, не задумываясь, использует множество различных алгоритмов. Я задумался:. Где мы с ним встречаемся? Что же такое алгоритм? ...
Алгоритмы на примере среды программирования «Паркетчик»

Алгоритмы на примере среды программирования «Паркетчик»

Строка меню «Паркетчик». Основные команды паркетчика. Пример:. Программа { положить(к); Шаг вправо; положить(к); Шаг вправо; положить(к); }. Команды ...
Алгоритмы

Алгоритмы

Алгоритм. Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) ...
Алгоритмы

Алгоритмы

6 2 из 6 5 4 3 1. Как слепить снеговика. Алгоритм – это описание конечной последовательности шагов в решении задачи, приводящей от исходных данных ...
Влияние компьютерных игр на психику подростков

Влияние компьютерных игр на психику подростков

Интернет – Важнейшее достижение человечества. Цель работы:. Выявить особенности влияния интернет-игр на психику подростков. Поставленные задачи. 1. ...
Влияние социальных сетей на подростков

Влияние социальных сетей на подростков

Предыстория. Чтобы получить 50 миллионов пользователей радио потребовалось 40 лет Телевидению – 10 лет Интернету – 4 года iPod – 3 года Социальная ...
Влияние компьютера и компьютерных игр на здоровье и психику человека

Влияние компьютера и компьютерных игр на здоровье и психику человека

Первая экспериментальная группа:. Вторая экспериментальная группа:. Выводы:. большинство детей и подростков отдают свое предпочтение музыкальным и ...
Влияние компьютера на психику человека

Влияние компьютера на психику человека

Психологические симптомы человека, относящегося к группе риска интернет- зависимых людей:. - хорошее самочувствие или эйфория за компьютером; - невозможность ...
Алгоритмы

Алгоритмы

Алгоритм. Происхождение слова «алгоритм» связано с именем великого математика Мухаммеда аль-Хорезми. Перу этого учёного принадлежит книга по математике, ...
Анимация на VBA

Анимация на VBA

Автор презентации «Анимация на VB6» Помаскин Юрий Иванович - учитель информатики МБОУ СОШ№5 г. Кимовска Тульской области. Презентация сделана как ...
Алгоритмы

Алгоритмы

Определение исполнитель. Исполнитель – это некоторый объект (человек, группа людей, животное, техническое устройство), способный выполнять определенный ...
Алгоритмы

Алгоритмы

1. Выбрать команду Файл → Сохранить как. 2. В открывшемся окне выбрать нужную папку. 3. В поле «Имя» указать имя файла. 4. Нажать кнопку «Сохранить». ...
Алгоритмы

Алгоритмы

Исправьте алгоритм «Поездка в гости». Выйти из дома. Выйти из автобуса. Сесть в автобус № 10. Дойти до автобусной остановки. Проехать 3 остановки. ...
Алгоритмы

Алгоритмы

Робик. Команды для Робика. Привет, я робот Робик. Поле Робика Границы поля Стенки Позиция Робика. Закрашенная клетка. Робик всегда закрашивает клетку, ...
Алгоритмы

Алгоритмы

Понятие алгоритма. Алгоритм – это строгая и четкая последовательность действий, выполнение которых приводит к определенному результату. Требования ...
Алгоритмы симметричного шифрования

Алгоритмы симметричного шифрования

Криптография. Основные понятия. Рассмотрим общую схему симметричной, или традиционной, криптографии. Рис. 2.1. Общая схема симметричного шифрования. ...
Алгоритмы

Алгоритмы

Вспоминать Развивать Проверять. Нарисуй фигуру Начало 2. 2 3 4 5 2 2. Приготовь какао. возьми чашку положи ложку какао в чашку начало возьми молоко ...
Анализ отклика на случайное воздействие в MSC

Анализ отклика на случайное воздействие в MSC

Раздел 14. Анализ отклика на случайное воздействие. ТИПЫ ДИНАМИЧЕСКИХ ПРОЦЕССОВ………………………………… 14 - 4 АНАЛИЗ ОТКЛИКА НА СЛУЧАЙНОЕ ВОЗДЕЙСТВИЕ..……...…….. ...

Конспекты

Алгоритмы сжатия. Алгоритм построения орграфа Хаффмана

Алгоритмы сжатия. Алгоритм построения орграфа Хаффмана

. План-конспект занятия по информатике. Город:. . Раменское. МОУ «СОШ № 8». Учитель:. . Константинова Елена Ивановна. Класс:. . 11 «А». ...
Алгоритмы на паскале

Алгоритмы на паскале

ПЛАН-КОНСПЕКТ УРОКА «Название». ФИО Бурзаев Андрей Игоревич. . Место работы МБОУ СОШ №1 им. М.Горького г. Арзамас. . . . Должность. ...
Информационные модели на графах

Информационные модели на графах

Урок "Информационные модели на графах". Цели урока:. . •расширить представления учащихся о видах информационных моделей;. . •сформировать ...
Алгоритмы в нашей жизни

Алгоритмы в нашей жизни

Тема:. Алгоритмы в нашей жизни. Тип урока:. урок - объяснение. Цели урока:. Образовательные:. Формирование умения грамотно излагать свою ...
Графика на языке программирования АВС Pascal

Графика на языке программирования АВС Pascal

ПЛАН-КОНСПЕКТ УРОКА. ТЕМА: «. Графика на языке программирования АВС. Pascal. ». Тип урока:. получение. новых знаний. Технология:. системно-деятельностный ...
Влияние компьютерных игр на формирование агрессивных моделей поведения учащихся начальных классов

Влияние компьютерных игр на формирование агрессивных моделей поведения учащихся начальных классов

Конспект урока в 4 классе. на тему:. «Влияние компьютерных игр на формирование агрессивных моделей поведения учащихся начальных классов». Выполнила: ...
Алгоритмы

Алгоритмы

ЧАСТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА «КРИСТАЛЛ» ГОРОДА СЫЗРАНЬ САМАРСКОЙ ОБЛАСТИ. Конспект итогового ...
Алгоритмы с повторениями

Алгоритмы с повторениями

Технологическая карта. . . Тема урока:. Алгоритмы с повторениями.  . Тип урока:. урок изучения и закрепления новых знаний.   Разработан:. ...
Линейное программирование на языке TurboPascal

Линейное программирование на языке TurboPascal

Интегрированный урок информатика и экология 7 классе. Тема урока : Линейное программирование на языке TurboPascal. Цель:.  . Сформировать навыки ...
Исследование зависимости мощности потребляемой лампочкой накаливания от напряжения на ее зажимах

Исследование зависимости мощности потребляемой лампочкой накаливания от напряжения на ее зажимах

Интегративный урок по физике и информатике. Преподаватель информатики и физики Искакова Гайни Каратаевна. Костанайский гуманитарный колледж. ...

Советы как сделать хороший доклад презентации или проекта

  1. Постарайтесь вовлечь аудиторию в рассказ, настройте взаимодействие с аудиторией с помощью наводящих вопросов, игровой части, не бойтесь пошутить и искренне улыбнуться (где это уместно).
  2. Старайтесь объяснять слайд своими словами, добавлять дополнительные интересные факты, не нужно просто читать информацию со слайдов, ее аудитория может прочитать и сама.
  3. Не нужно перегружать слайды Вашего проекта текстовыми блоками, больше иллюстраций и минимум текста позволят лучше донести информацию и привлечь внимание. На слайде должна быть только ключевая информация, остальное лучше рассказать слушателям устно.
  4. Текст должен быть хорошо читаемым, иначе аудитория не сможет увидеть подаваемую информацию, будет сильно отвлекаться от рассказа, пытаясь хоть что-то разобрать, или вовсе утратит весь интерес. Для этого нужно правильно подобрать шрифт, учитывая, где и как будет происходить трансляция презентации, а также правильно подобрать сочетание фона и текста.
  5. Важно провести репетицию Вашего доклада, продумать, как Вы поздороваетесь с аудиторией, что скажете первым, как закончите презентацию. Все приходит с опытом.
  6. Правильно подберите наряд, т.к. одежда докладчика также играет большую роль в восприятии его выступления.
  7. Старайтесь говорить уверенно, плавно и связно.
  8. Старайтесь получить удовольствие от выступления, тогда Вы сможете быть более непринужденным и будете меньше волноваться.

Информация о презентации

Ваша оценка: Оцените презентацию по шкале от 1 до 5 баллов
Дата добавления:14 сентября 2014
Категория:Информатика
Автор презентации:Югов Иван Олегович
Содержит:10 слайд(ов)
Поделись с друзьями:
Скачать презентацию
Смотреть советы по подготовке презентации