Leetcode-有効なツリーをグラフ化する



Leetcode Graph Valid Tree



このトピックは作成されていません。
最近は睡眠が減った気がするので、夜はよくわからない質問もあります。特に、考えるのに十分なスペースが必要な場合はそうです。
このトピックは非常に重要です、彼は基本的な知識を紹介しました。
グラフにリングがあるかどうかを判断する方法。
もちろん、この質問はもう1つの質問を判断する必要があります。
このグラフの強連結成分が1つしかないことの判断方法強連結成分

3つの方法:
DFS、BFS、ユニオン検索



Union Findは最も直接的で独創的であり、問​​題を解決するための配列である構築図を使用しないと思います。

ユニオン検索:
私のコード:



public class Solution { private int V = 0 private int[] id private int[] sz public boolean validTree(int n, int[][] edges) { this.V = n id = new int[V] sz = new int[V] for (int i = 0 i

参照:
https://discuss.leetcode.com/topic/21712/ac-java-union-find-solution

DFS:
私のコード:

public class Solution { private int V = 0 private List adj = new ArrayList() public boolean validTree(int n, int[][] edges) { this.V = n for (int i = 0 i

参照:
https://discuss.leetcode.com/topic/21714/ac-java-graph-dfs-solution-with-adjacency-list



FSO:
私のコード:

public class Solution { private int V = 0 private List adj = new ArrayList() public boolean validTree(int n, int[][] edges) { this.V = n for (int i = 0 i

参照:
https://discuss.leetcode.com/topic/57131/java-straightforward-bfs-solution

それらはすべて自分で書いたものです。判断ループをグラフの基本的なアルゴリズムと見なす必要がある場合は、それを習得する必要があります。

トポロジカルソートがあります

最も重要なことは、グラフをすばやく作成するかどうかです。

とにかく、頑張って、リチャード! -2016年9月10日