2016-06-21 23 views
-1

My graph looks like thisトップレベルの親に子供から、すべての可能なパスを探す

どのようにC#でのグラフのトップレベルの親の子からのすべての可能なパスを見つけるには?私はグラフの中にトップの親を1つ持っています。すべてのノードには、独自のID、名前、および親IDがあります。一番上のレベルの親は親のゼロを持ち、子は複数の親を持つことができます。 [HからAへのすべてのパスを として見つけなければなりません。HEBA、HGDA、HECA 私のノードは以下の通りです。

class Node 
    { 
     public int Id { get; set; } 
     public List<int> ParentId { get; set; } 
     public string Name { get; set; } 
    } 
+1

あなたはいくつかのコードを投稿することができます。しかし、あなたはノード1のようなループがある場合、注意してください - - >ノード2を、あなたはまた、ダイクストラを使用することができますfastes方法を探している場合>ノード1は、これらのアルゴリズムは

を返すことはありませんか? – Thomas

+1

有向グラフを表現するために使用するデータ構造は何ですか? – Codor

+1

@Thomas私は質問を更新しました。 – pariwartan

答えて

0

あなたはBFSで、トップレベルの親に1子からすべてのパスを見つけることができます:https://en.wikipedia.org/wiki/Breadth-first_searchかもDFS:https://en.wikipedia.org/wiki/Depth-first_search。 両方を再帰的かつ反復的に書くことができます。 https://de.wikipedia.org/wiki/Dijkstra-Algorithmus

+0

パスを保存できませんでした。サンプルを教えてください。 – pariwartan

+0

DeutschのDanke aber das istです。 – pariwartan

+0

申し訳ありません...ここに英語のリンクがあります:https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm – Thomas

関連する問題