undirected-graph

    2熱度

    1回答

    我編寫的以下C#算法檢測到O(n)時間內無向圖中存在一個循環。它避免了遞歸,並通過字典和散列集來利用散列。但是,我能做得更好嗎? void Main() { var graph = new Dictionary<int, HashSet<int>> { { 0, new HashSet<int> { 4 } }, { 1, new HashSet<in

    0熱度

    1回答

    在無向圖,爲此DFS已經執行(以便產生一個DFS樹並因此歸類每個邊沿如任一樹邊緣或後邊緣),纔會有在圖中的循環僅由後面的邊緣,即沒有樹邊緣?

    0熱度

    2回答

    我有一大組表示一組圖形的頂點/節點。請注意,這個完整集合中可能有許多獨立的圖。目標是在所有這些圖上找到最小數量的頂點,這些頂點對應於這些選定頂點捕獲的所有邊上的最大權重總和。我在熊貓中有鄰接矩陣,我正在使用networkx。 以下是三個列的示例數據框,其中Number_Of_Trips是權重。爲了將兩個度量合併在一起,我可以提供node = 10 *行程的權重。即旅行的最大化# - 10個* Nu

    -1熱度

    1回答

    #include <bits/stdc++.h> using namespace std; int n,m; vector<int> adj[51]; int visited[51]; bool flag; void dfs(int i,int parent){ vector<int>::iterator it;

    0熱度

    1回答

    我想使用Floyd-warshall算法找到加權無向圖中任意兩個頂點之間的最大距離。爲此,我做了一些更改: 我加負值而不是正值。 然後我找出最短的路徑。 但它沒有給我正確的輸出。有人能指出我犯的錯誤嗎? class TestClass { public static void main(String args[]) throws Exception { Scanner sc

    2熱度

    2回答

    我們可以假設所有邊權重都是正數,並且可以枚舉從頂點向外引出的邊,以及在O(1)時間內向內引導的邊。例如,您可以執行Dijkstra遍歷(或帶有可容許啓發式的A *),並標記每個頂點的距離,直到您找到結束頂點,然後在它們描述可能的前輩時反轉這些標記在最佳路徑上。也就是說,對於每個可能的前驅,如果標記的距離之間的差等於連接它們的邊的權重,則可以確定它是否在貪婪的最優路徑上找到。 當考慮可能的前輩時,進

    0熱度

    1回答

    問題與標題所示相同,該圖以鄰接列表形式給出。我的方法是在任何一個頂點調用DFS,並且每當我在DFS遞歸步驟中訪問頂點時,我將從0開始遞增全局變量的計數器,並且不會爲該訪問頂點調用DFS(正如我們通常所做的那樣)。這是否正常工作,我想對嗎?我還沒有在互聯網上找到任何相關文章,以瞭解#無向圖中的循環次數。 詳細說明:我的意思是使用簡單的DFS方法。雖然我們在遇到訪問頂點的遞歸步驟中沒有做任何事情,但我

    0熱度

    1回答

    無向圖和未加權圖之間有什麼區別?它們是一樣的嗎?只是想100%肯定。 我對這一切都很陌生。請不要鎖定我只是需要幫助,並希望學習。

    0熱度

    1回答

    我是新來的stackoverflow,所以請裸露在我身邊。 我想實現一個for循環來初始化網格形狀的圖形,包括對角線。基本上,我有一個數組,用我想在圖中複製的值進行初始化。所以我有一個嵌套的for循環有幾個if語句。 if語句用於處理特殊情況,即索引1,1處的元素只有3個鄰居。 我知道我的圖表函數的工作原理,因爲如果我手工初始化它,它不會分段錯誤並打印正確的BFS,但是我的循環seg錯誤。請看看:

    1熱度

    1回答

    我有向圖,其中藥劑從節點1移動到NODE2等在添加權重以下 node1 node2 flow A B 12 B A 6 C A 1 D B 3 E A 4 A E 10 E B 1 B E 2 我想改變這個向圖成一個無向一個,求和邊緣之間的流動,渲染結果如 node1 node2 flow A B 18 C A 1 D B 3 A E 14 B E 3 我試圖在邊