breadth-first-search

    2熱度

    1回答

    我在下面的代碼中使用Scala使用Apache Spark-GraphFrames,我在上面的代碼中應用BFS並嘗試找到Vertice 0到100之間的距離。 import org.apache.spark._ import org.graphframes._ import org.graphframes.GraphFrame import org.apache.spark.sql.Data

    0熱度

    1回答

    目前,我在兩個頂點之間只有一對一的關係。我只想處理兩個頂點之間的多個關係。我怎樣才能做到這一點? 我當前的代碼是: public Collection<Vertex<V, E>> bfs() { Queue<Graph.Vertex<V, E>> queue = new ArrayBlockingQueue<>(this.getVertices().size()); Coll

    0熱度

    1回答

    我想解決如何保存圖的節點。每個節點可以有更多的祖先和更多的後代。現在我有這個結構: struct Node { int m_Value; int m_Index; // end Node in m_Nodes int m_Length; // actual size of m_Nodes and m_Prev (for realloc) Node* m_N

    0熱度

    1回答

    我對Algo & DS的理解有點新手。而且我不確定這是否是重複或相關問題,或者是否完全無關緊要。無論我在哪裏看到級別遍歷或BFS被提及,我都會看到使用了隊列。我無法理解錯綜複雜的空間,更重要的是時間複雜度,對我的實現使用字典。 def getLevelElements(tree, level=0, cont={}): """Get mapping of level and element

    0熱度

    1回答

    我得到這個鄰接矩陣,我必須從文本文件中讀取,並且應該返回讀取寬度優先和深度優先的結果。 我知道寬度優先使用FIFO隊列,而深度優先使用LIFO堆棧。當我有圖表時,我可以獲得這些搜索,並且可以手動。我只是不確定如何在計算機上使用C++來使用矩陣。 我將不勝感激關於如何解決這個問題的指導。 我有一些問題: 我是否將矩陣從文本文件保存到我的程序中作爲常規矩陣? 一旦閱讀文本文件以顯示搜索結果,該怎麼辦?

    0熱度

    1回答

    將節點的最大距離定義爲該節點與樹中所有其他節點之間的距離 的最大值。我的問題是找到並打印樹中所有節點的最大距離(不一定是二進制或任何其他)。基本上,對於每個節點,我需要輸出節點在我們正在查看的節點和樹中的任何其他節點之間的最大距離。預計運行時間爲O(n)。 我最好的方法都需要O(N^2)的時間,我不知道還有什麼地方可以解決這個問題。我目前在樹中的每個節點上運行BFS以查找樹中每個節點的最大距離,但

    -1熱度

    1回答

    我可以使用堆疊而不是運行廣度優先搜索隊列時 。它是否仍然計算最短路徑?

    2熱度

    1回答

    我在找到使用BFS的最短路徑,我很快得到這個RecursionError: maximum recursion depth exceeded in comparison,有關如何使用生成器來避免它的任何建議?或者使其迭代是唯一的好選擇?下面 代碼: def bfs_paths(graph, start, goal): queue = [(start, [start])] whi

    0熱度

    2回答

    Graph 的節點我想執行這個圖形BFS從節點16開始,但我的代碼是給錯誤的輸出。你能幫我解決嗎?謝謝。 visited_nodes = set() queue = [16] pardaught = dict() exclu = list() path = set() for node in queue: path.add(node) neighbors = G.ne

    0熱度

    1回答

    這是一個類的方法,用於查找以三維陣列表示的三維迷宮的出口。數組本身包含長度爲6或1或0的字符串。字符串中的'1'表示您可以朝該方向移動。例如,如果當前數組元素的字符串是100001,這意味着您可以向北移動,也可以向下移動一個級別。位串對應於東南向西南向上的向下。此方法目前尚未完成,因此我知道它尚未找到可行的解決方案,但最終的switch語句在運行時會導致數組超出界限錯誤。我將三維數組描述爲一個三維