グラフデータ構造(隣接リスト構造-有向グラフ)のjavaまたはC#実装を誰かが説明できますか?私はグラフデータ構造の視覚的なアイデアを持っています。しかし、誰かがそれをコードごとに説明するなら。すぐに理解できます……誰でもできますか?
1528 次
1 に答える
1
最低限、次の基本構造が必要です。
public class Graph{
Set<Node> nodes;
}
public class Node{
Set<Node> adjacent;
}
残っているのは、コンストラクターとアクセサーメソッド、おそらくいくつかの基本的なグラフロジックだけです。アルゴリズムでノードに向けられたエッジを見つける効率的な方法が必要な場合は、2つのadjacent
セットがあります(1つは現在のノードに向かうノードを持ち、もう1つは現在のノードに向かうエッジを持つノードを持ちます)。
また、エッジウェイトが必要な場合:
public class Node{
Set<Edge> adjacent;
}
public class Edge{
Node target;
double weight;
}
于 2012-04-15T12:55:23.933 に答える