Гнездовое хранение структуры

При этом способе хранения структуры каждая вершина задается гнездом следующего вида:



Оi
А1
A2


где:

Оi - номер объекта;

А1 - первый адрес перехода к следующей вершине;

А2 - второй адрес перехода к следующей вершине.

Гнездо построено в предположении, что от каждой вершины отходит не больше двух дуг. Пусть структура операции выражена следующим образом:

Тогда хранение структуры с помощью гнезд можно выразить следующим способом:

Каждое гнездо состоит из 3х слов. Общий объем занимаемой памяти составит

V=3n
слов


Матрица смежности с битовым заданием строк и хранение гнездами занимают одинаковый объем памяти, однако гнездовой способ не имеет ограничения n < 16 или n < 32 и, в тоже время, является более гибким. Например, для удаления перехода Р5 нужно уничтожить связь Р4 Р5. Для этого необходимо лишь в гнезде с адресом А3 убрать адрес А4 и поставить * (отсутствие адреса). В то время как в 1-ом способе для удаления лишнего перехода понадобиться проделать ряд операций над битовыми строками.

Сложность использования гнездового способа возникает, когда из вершины графа структуры выходит больше двух вершин. В этом случае необходимо либо применять гнезда с большим количеством адресов, либо использовать псевдопереходы.

Пример.