0

グラフ 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) 

どのアルゴリズムを使用できますか?

4

1 に答える 1

1

これらのメソッドを使用すると、グラフの各ノードで AdjNodes(Node) を呼び出すことができます。返されたリストの各ノードについて、これはエッジを表し、ペア (FirstNode、SecondNode) で表すことができます。これらのペアを新しく作成したリストに保存すると、それがエッジのリストになります。

無向グラフの場合、(FirstNode, SecondNode) と (SecondNode, FirstNode) が同じエッジを表すため、見つかったすべてのエッジの複製が作成されます。

于 2012-02-09T15:28:55.407 に答える