КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритмы поиска путей в графе
Графы Графы - обобобщение структуры деревьев. Граф обычно определяется как некоторое множество точек (называемых вершинами) и некоторое множество линий (называемых ребрами), соединяющих определенные пары вершин. Каждая пара вершин соединяется не больше чем одним ребром. Можно рассматривать взвешенные и невзвешенные, ориентированные и неориентированные графы. Граф, в котором нет кратных ребер, можно задать при помощи весовой матрицы. Для каждой пары вершин в матрице указывается вес ребра, соединяющего вершины (если ребра нет, то полагаем соответствующий элемент матрицы равным бесконечности). Матрица может быть несимметричной в случае ориентированного графа. В случае невзвешенного графа удобнее представлять его при помощи матрицы связности, элемент которой равен 1, если есть соответствующие ребро, и 0, если ребро отсутствует. Пример использования графа – это задание условий в задаче коммивояжера, причем населенные пункты помещаются в вершины графа, а веса ребер определяют расстояние между соответствующими населенными пунктами. Теория графов достаточно обширна и многие алгоритмы, рассматриваемые в ней, имеют интерес сами по себе. Для решения прикладных задач часто возникает необходимость определить связаны ли две вершины графа, а в случае наличия весов, определить еще и вес пути между ними.
Граф (свободное дерево) обычно определяется как некоторое множество точек (называемых вершинами или узлами) и некоторое множество линий, называемых ребрами (или дугами), соединяющих определенные пары вершин. Каждая пара вершин соединяется не больше чем одним ребром. Дуга, соединенная с вершиной, называется инцидентной этой вершине. Две вершины называются смежными, если существует ребро, соединяющее их. Две дуги называются смежными, если они инцидентны одной и той же вершине. Пусть V и V` - вершины и пусть n ³0; говорят, что «V0, V1, …, Vn» - путь длины n от V до V `, если V=V0, вершина Vk смежна с Vk+1 при 0£ k < n, а Vn=V`. Путь прост, если вершины V0, V1, …, Vn-1 все различны между собой, а также различны все вершины V1, V2, …, Vn. Граф называется связным, если имеется путь между каждыми двумя вершинами этого графа. Циклом называется простой путь длины не менее 3 от какой-либо вершины до нее самой. Свободное дерево – это связный граф, не имеющий циклов. Формально направленный граф определяется как некое множество вершин и множество дуг, причем каждая дуга ведет от некоторой вершины V к некоторой вершине V `. Если e – дуга, идущая от V к V `, то говорят, что V – начальная вершина дуги e, а V` - конечная вершина.
Рис. 1.4. Направленный и ненаправленный графы
Для задания графов существует несколько классов матриц, основные из которых класс матриц инциденции и класс матриц смежности. Класс матриц инциденции. Если граф Г содержит n вершин и m дуг, то матрица инциденции А(Г)=[aij]mxn определяется так: 1, если вершина vj – начало дуги ui; aij = -1, если вершина vj – конец дуги ui; 0, если дуга ui не инцидентна вершине vj.
Направленный граф на рис. 6.4 можно задать матрицей инциденции:
Класс матриц смежности. Матрица смежности S=[sij]nxm невзвешенного графа определяется следующим образом: Sij = 1, если vi смежна vj; 0, если вершины несмежны. Во взвешенном графе каждая единица заменяется на вес соответствующего ребра. Ненаправленный граф на рис. 1.4 описывается следующей матрицей смежности:
Дата добавления: 2014-01-07; Просмотров: 1164; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |