topological-sort

    0熱度

    1回答

    這是我在Python中的圖形實現。這是一個有向圖。 class DiGraph: def __init__(self): self.all_vertices = [] self.vertex_map = {} self.size = 0 def add(self, a, b): if a in self.vertex_map:

    -1熱度

    1回答

    我在編寫emu8086中的asm x86代碼時遇到了很大的問題,它發現圖的拓撲排序(沒有Cicle)給定其鄰接矩陣和節點數。我嘗試了幾個想法,但沒有任何工作......所以,如果你們中的任何人都可以給我任何幫助(在文字或代碼中)如何解決這個問題,或者如何解決這個問題,那將是很棒的「因爲我不知道該怎麼辦...... 數據給出這樣的: JMP main size db 4 graph db 0 ,

    8熱度

    2回答

    我正試圖使用​​Spark's GraphX庫實現topological sort。 這是我到目前爲止已經編寫的代碼: MyObject.scala import java.util.ArrayList import scala.collection.mutable.Queue import org.apache.spark.SparkConf import org.apache.spa

    0熱度

    1回答

    時,我想實現基於DFS方法的拓撲排序: import java.util.*; public class TopologicalSort { static void dfs(List<Integer>[] graph, boolean[] used, List<Integer> res, int u) { used[u] = true; for (int v :

    2熱度

    2回答

    我關於一個算法模塊以下過去紙問題工作: 設G =(V,E)是一個簡單的引導無環圖(DAG)。 對於V中的一對頂點v,u,我們說如果在G中存在從u到v的(有向)路徑,則v可以從u到達。 (我們假設每個頂點都可以從它自己到達) 對於V中的任何頂點v,令R(v)爲頂點v的可達性數,它是從V到達的V中的頂點u的數目。 設計算法,對於給定的DAG,G = (V,E)計算V中所有頂點v的R(v)值。 提供您的

    1熱度

    1回答

    後,我學會了如何以確定是否有向圖有1級拓撲排序,我有點好奇,如果有一種方法,以確定是否有與所有的確切2.第一圖,這是真的,有圖有2拓撲爲哪般? 我學會了使用漢彌爾頓路徑,以確定是否DAG具有獨特的拓撲排序。這是否適用於此? 感謝

    1熱度

    1回答

    給定一個已知爲拓撲排序的列表。它只包含節點的名稱。沒有給出列表中節點之間的邊緣。假設給出了一個新節點,其邊緣來自/從列表中的節點,如何將新節點插入到拓撲排序中?

    0熱度

    1回答

    經過廣泛的測試和調試之後,我無法瞭解我的生活爲什麼我的拓撲排序算法會產生不正確的輸出。它只是按降序列出節點的值,而不是對它們進行拓撲排序。我列出了所有相關的類/輸入文件。任何提示或幫助表示感謝,提前感謝。 部首類圖形: /* 2/19/2016 This is the header for class graph. It includes the definition of a node a

    2熱度

    1回答

    我想要一種拓撲排序算法,每次都不提供相同的排序,而是隨機排序,每種排序對所有其他排序同等可能。 生成所有可能的拓撲排序並隨機選取一個是正確的,但速度太慢。生成所有排列並過濾無效的拓撲排序也非常緩慢;如果樹木足夠寬,第一棵樹就會退化成第二棵樹。 將新節點插入要檢查的節點隊列中的隨機位置似乎會產生一個有偏見的結果,並將其放在末尾並進行fisher-yates shuffle也似乎有偏見,因爲兩者都無法

    1熱度

    1回答

    我試圖解決Leetcode上的拓撲排序問題(link here)。我驚訝地發現C++比Java有相同的算法慢! C++解決方案的成本幾乎爲500毫秒,但Java僅爲6〜7毫秒。這很讓人困惑......而且C++也比python,c#和javascript更慢。這裏是公認的解決運行時分發: 這裏是C++版本和Java版本的代碼。它們都使用DSF方法進行拓撲排序。 //Java public int