rcmgroup
  • Blog

Курсовая Работа Раскраска Графа.Rar

10/4/2016

0 Comments

 

Читать курсовую работу online по теме 'Прикладная программа для нахождения раскраски неориентированного графа ограниченным числом цветов'. Тип: курсовая работа Добавлен 09:20:05 27 декабря 2010 Похожие. Другими словами, клика графа есть подмножество его вершин, такое, что. Узнайте как: business1777.blogspot.com! Алгоритм раскраски графа (точный).

Поиск в ширину в графе и его приложениядобавлено: 1. Jun 2. 00. 8 1. 9: 1. May 2. 01. 2 1. 4: 1. Поиск в ширину (обход в ширину, breadth- first search) — это один из основных алгоритмов на графах. В результате поиска в ширину находится путь кратчайшей длины в невзвешенном графе, т.

Курсовая работа: «Алгоритм раскраски графа». Первой работой теории графов как математической дисциплины считают статью Эйлера (1736г.), в которой рассматривалась задача о Кёнигсбергских мостах. Теория графов 357 Контрольные работы, PГР, решения задач26. Курсовые работы и проекты72. Лабораторные работы18. Результат выполнения алгоритмы отображается на графе. Чтобы Вычисление и раскраска, Delphi 7.0. Иными словами, это полный подграф первоначального графа. На данной странице вы можете найти курсовую работу по программированию на тему. Чтобы Вычисление и раскраска, Delphi 7.0. Математические графы, области их применения. Способы раскраски вершин и ребер графов, задачи на их применение. Разработка алгоритма&nbsp.

Описание алгоритма На вход алгоритма подаётся заданный граф (невзвешенный), и номер стартовой вершины . Граф может быть как ориентированным, так и неориентированным, для алгоритма это не важно. Сам алгоритм можно понимать как процесс . На каждом следующем шаге огонь с каждой уже горящей вершины перекидывается на всех её соседей; т. Создадим очередь , в которую будут помещаться горящие вершины, а также заведём булевский массив , в котором для каждой вершины будем отмечать, горит она уже или нет (или иными словами, была ли она посещена). Изначально в очередь помещается только вершина , и , а для всех остальных вершин . Затем алгоритм представляет собой цикл: пока очередь не пуста, достать из её головы одну вершину, просмотреть все рёбра, исходящие из этой вершины, и если какие- то из просмотренных вершин ещё не горят, то поджечь их и поместить в конец очереди.

В итоге, когда очередь опустеет, обход в ширину обойдёт все достижимые из вершины, причём до каждой дойдёт кратчайшим путём. Также можно посчитать длины кратчайших путей (для чего просто надо завести массив длин путей ), и компактно сохранить информацию, достаточную для восстановления всех этих кратчайших путей (для этого надо завести массив . Реализация Реализуем вышеописанный алгоритм на языке C++. Входные данные. vector < vector< int> > g; // графint n; // число вершинint s; // стартовая вершина (вершины везде нумеруются с нуля). Таким образом, мы выполняем обычный запуск в ширину от каждой вершины, но не обнуляем каждый раз массив , за счёт чего мы каждый раз будем обходить новую компоненту связности, а суммарное время работы алгоритма составит по- прежнему (такие несколько запусков обхода на графе без обнуления массива называются серией обходов в ширину). Нахождения решения какой- либо задачи (игры) с наименьшим числом ходов, если каждое состояние системы можно представить вершиной графа, а переходы из одного состояния в другое — рёбрами графа.

Классический пример — игра, где робот двигается по полю, при этом он может передвигать ящики, находящиеся на этом же поле, и требуется за наименьшее число ходов передвинуть ящики в требуемые позиции. Решается это обходом в ширину по графу, где состоянием (вершиной) является набор координат: координаты робота, и координаты всех коробок. Нахождение кратчайшего пути в 0- 1- графе (т. Для этого надо запустить 2 поиска в ширину: из , и из . Обозначим через массив кратчайших расстояний, полученный в результате первого обхода, а через — в результате второго обхода. Теперь для любого ребра легко проверить, лежит ли он на каком- либо кратчайшем пути: критерием будет условие .

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

Обозначим через массив кратчайших расстояний, полученный в результате первого обхода, а через — в результате второго обхода. Теперь для любой вершины легко проверить, лежит ли он на каком- либо кратчайшем пути: критерием будет условие . Найти кратчайший чётный путь в графе (т.

Для этого надо построить вспомогательный граф, вершинами которого будут состояния , где — номер текущей вершины, — текущая чётность. Любое ребро исходного графа в этом новом графе превратится в два ребра и . После этого на этом графе надо обходом в ширину найти кратчайший путь из стартовой вершины в конечную, с чётностью, равной 0.

Задачи в online judges Список задач, которые можно сдать, используя обход в ширину.

0 Comments



Leave a Reply.

    Author

    Write something about yourself. No need to be fancy, just an overview.

    Archives

    October 2016

    Categories

    All

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • Blog