24. Различные представления графа
24. Различные представления графа
Для реализации графа в виде списка инцидентности можно использовать следующий тип:
Type List = ^S;
S = record;
inf: Byte;
next: List;
end;
Тогда граф задается следующим образом:
Var Gr: array[1..n] of List;
Теперь обратимся к процедуре обхода графа. Это вспомогательный алгоритм, который позволяет просмотреть все вершины графа, проанализировать все информационные поля. Если рассматривать обход графа в глубину, то существуют два типа алгоритмов: рекурсивный и нерекурсивный.
На языке Pascal процедура обхода в глубину будет выглядеть следующим образом:
Procedure Obhod(gr: Graph; k: Byte);
Var g: Graph; l: List;
Begin
nov[k]:= false;
g:= gr;
While g^.inf <> k do
g:= g^.next;
l:= g^.smeg;
While l <> nil do begin
If nov[l^.inf] then Obhod(gr, l^.inf);
l:= l^.next;
End;
End;
Представление графа списком списков
Граф можно определить с помощью списка списков следующим образом:
Type List = ^Tlist;
Tlist = record
inf: Byte;
next: List;
end;
Graph = ^TGpaph;
TGpaph = record
inf: Byte;
smeg: List;
next: Graph;
end;
При обходе графа в ширину мы выбираем произвольную вершину и просматриваем сразу все вершины, смежные с ней.
Приведем процедуру обхода графа в ширину на псевдокоде:
Procedure Obhod2(v);
Begin
queue = O;
queue <= v;
nov[v] = False;
While queue <> O do
Begin
p <= queue;
For u in spisok(p) do
If nov[u] then
Begin
nov[u]:= False;
queue <= u;
End;
End;
End;
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Приложение Г Различные исходные коды
Приложение Г Различные исходные коды Г.1. Заголовочный файл unp.h Почти каждая программа в этой книге начинается с подключения заголовочного файла unp.h, показанного в листинге Г.1[1]. Этот файл подключает все стандартные системные заголовочные файлы, необходимые для работы
14.3. Различные примеры
14.3. Различные примеры В этом пункте представлены несколько примеров для обеспечения безопасности вашей
1. Понятие графа. Способы представления графа
1. Понятие графа. Способы представления графа Граф – пара G = (V,E), где V – множество объектов произвольной природы, называемых вершинами, а Е – семейство пар ei = (vil, vi2), vijOV, называемых ребрами. В общем случае множество V и (или) семейство Е могут содержать бесконечное число
2. Представление графа списком инцидентности. Алгоритм обхода графа в глубину
2. Представление графа списком инцидентности. Алгоритм обхода графа в глубину Для реализации графа в виде списка инцидентности можно использовать следующий тип: Type List = ^S; S = record; inf : Byte; next : List; end; Тогда граф задается следующим образом: Var Gr : array[1..n] of List; Теперь обратимся к
3. Представление графа списком списков. Алгоритм обхода графа в ширину
3. Представление графа списком списков. Алгоритм обхода графа в ширину Граф можно определить с помощью списка списков следующим образом: Type List = ^Tlist; Tlist = record inf : Byte; next : List; end; Graph = ^TGpaph; TGpaph = record inf : Byte; smeg : List; next : Graph; end; При обходе графа в ширину мы выбираем произвольную
Различные системы координат
Различные системы координат Основной системой координат в AutoCAD является прямоугольная декартова система координат, которая называется мировой системой координат (МСК).Она используется по умолчанию при создании нового чертежа. Направление осей демонстрируется с
9.4.1. Реализация графа в виде матрицы смежности
9.4.1. Реализация графа в виде матрицы смежности Нижеприведенный пример основан на двух предыдущих. В листинге 9.3 неориентированный граф реализован в виде матрицы смежности с помощью класса ZArray (см. раздел 8.1.26). Это нужно для того, чтобы новые элементы по умолчанию получали
14.9. Различные сценарии
14.9. Различные сценарии Приведем еще несколько примеров. Не претендуя на оригинальность, мы отнесли их к категории
1. Различные типы и кратности связей
1. Различные типы и кратности связей Связь между отношениями при проектировании схем баз данных изображается в виде линий, соединяющих классы сущностей.При этом каждый из концов связи может (и вообще должен) характеризоваться наименованием (т. е. типом связи) и кратностью
5.1. Различные файловые системы
5.1. Различные файловые системы Linux поддерживает много различных файловых систем. Начинающий пользователь просто теряется, когда видит такое многообразие выбора, — ведь в качестве корневой файловой системы доступны: ext2, ext3, ext4, XFS, ReiserFS, JFS.«Родной» файловой системой Linux
Глава 24 Различные проблемы и их устранение
Глава 24 Различные проблемы и их устранение 24.1. Проблемы с загрузкой системы Проблемы с загрузкой системы могут быть связаны либо с неправильной конфигурацией загрузчика GRUB2, либо с самим ядром системы, когда при загрузке ядро зависает и/или переходит в режим паники.Если
Различные системы координат
Различные системы координат Основной системой координат в AutoCAD является прямоугольная декартова система координат, которая называется мировой системой координат (МСК). Она используется по умолчанию при создании нового чертежа. Направление осей демонстрируется с
28.4.1. Различные уровни выполнения
28.4.1. Различные уровни выполнения Существует семь уровней выполнения (табл. 28.1). Различные системы имеют на некоторых уровнях небольшие отличия.Прежде чем размещать сценарий на различных уровнях выполнения, уточните, на каких уровнях эта служба должна запускаться или
Различные реализации
Различные реализации Чтобы лучше понять всю важность описаний абстрактных типов данных, исследуем глубже потенциальные последствия использования физической реализации в качестве основы описания объектов.Удобным и хорошо изученным примером является описание
23. Понятие графа. Способы представления графа
23. Понятие графа. Способы представления графа Граф – пара G = (V,E), где V – множество объектов произвольной природы, называемых вершинами, а E – семейство пар ei = (vil, vi2), vijOV, называемых ребрами. В общем случае множество V и (или) семейство E могут содержать бесконечное число