Получение ребер графа - PullRequest
       29

Получение ребер графа

0 голосов
/ 09 февраля 2012

Я должен создать алгоритм для получения списка ребер (дуг) графа ADT.

Я не могу получить доступ к закрытым членам графа.Я подумал, что мог бы сделать что-то похожее на DFS или BFS, отмечающие узлы посещения, и, в случае, если существует край, добавив его в список, который должен быть результатом алгоритма, но я не смог найти решение.

У меня есть следующие методы:

bool IsEmpty()
Node InsertNode() 
InsertArc(Node, Node) 
DeleteNode(Node) 
DeleteArc(Node, Node) 
List AdjNodes(Node) 
bool ExistsNode(Node) 
bool ExistsArc(Node, Node) 
Label ReadNode(Node) 
WriteNode(Node, Label) 

Какой алгоритм я могу использовать?

1 Ответ

1 голос
/ 09 февраля 2012

Итак, используя эти методы, вы можете вызывать AdjNodes (Node) на каждом узле графа.Для каждого узла в возвращаемом списке это будет представлять ребро, которое можно обозначить парой (FirstNode, SecondNode).Сохраните эти пары во вновь созданном списке, и это ваш список ребер.

Если у вас есть неориентированный граф, у вас будет дубликат каждого найденного ребра, как (FirstNode, SecondNode) и (SecondNode,FirstNode) представляют один и тот же край.

...