breadth-first-search

    0熱度

    3回答

    我有一個帶childs和父節點的經典Tree結構。現在,我想收集的最低水平(即以相反的順序)開始通過深度分組的所有節點,就像這樣: nodes[ ["A4"], ["A3","B3"], ["A2","B2","C2"], ["A1","B1","C1"], ["ROOT"] ]; 雖然使用遞歸遍歷方法是很容易獲得深度的水平,我不知道是否有任

    2熱度

    2回答

    我工作了下面的問題,我認爲我有它主要是解決最短路徑,但是一些測試用例執行失敗: 你有空間站的部分地圖,每個從監獄 出口開始,並在逃生艙的門口結束。該地圖以0和1的矩陣表示爲 ,其中0是可通過的空間並且1是不通過的牆壁。監獄外的門位於左上方(0,0) ,進入逃生艙的門位於右下角(w-1,h-1)。 編寫一個函數答案(地圖),它可以生成從監獄門到逃生吊艙的最短路徑長度,您可以在此處移除一堵牆作爲重建計

    0熱度

    2回答

    BFS的複雜度被認爲是線性的,即O(V + E),但是有向完整圖中邊的總數是V *(V-1),它是圖形。那麼BFS會花費O(V^2)時間遍歷完整的圖表嗎?

    0熱度

    2回答

    找到給定組的所有廣度優先組合的最有效方法是什麼?例如: 例如: 給定一組元素{1,2,4},輸出結果應該如下(也是按照這個順序 - 不一定是數值,但是元素值 - 首先應該輸出層1一個元件),那麼層2(兩個元件),最後層3(三種元素)): 1 2 4 1 2 1 4 2 4 1 2 4

    0熱度

    1回答

    我們應該使用哪種方法查找所有斷開連接的圖形,以及爲什麼? 作爲BFS和DFS遍歷兩者都遍歷方法和由多個遍歷。我們可以找到所有斷開的組件。 而另一種方法可以是不相交集合用於kruskal(MST)中查找斷開的組件。

    -3熱度

    1回答

    我試圖在C++中實現BFS,函數應該像這樣工作:以一個頂點爲參數的圖形&,然後創建兩個向量,其中一個用於存儲與參數頂點相鄰的頂點,然後檢查那些頂點,如果其中一個未被訪問,則獲取它的鄰接點並將它們添加到向量中,然後頂點應被標記爲VISITED並打印;我寫了這段代碼,但它輸出了任何內容。注:我確保其他功能&像圖這樣的數據結構正在工作,問題在於BFS功能,我希望你們中的一些人能幫我解決它。 #inclu

    1熱度

    2回答

    所以我正在構建這個樹,它有1個*節點,其中每個節點都有一個列表,它們本身可以有1 *個節點。 我可以構建的樹的前三個級別很好,但如果我不編碼所有級別都很簡單,那麼它不會工作更多。解決方案當然是使用某種遞歸方法和BFS。 基本上,在我的TreeBuilder類中,我希望能夠調用tree.getNodesAtDepth(depth))並獲取所有處於該深度的節點的列表。問題是我不明白我如何實施getNo

    0熱度

    2回答

    只是練習並注意到它很容易序列化(通過深度優先搜索遍歷)一個bst並反序列化到樹中。但是,如果序列化是通過麪包優先搜索遍歷完成的,我很難對其進行反序列化。 例如,給定輸入:5,2,11,N,3,7,19,N,N,6,8,N,N,N,N,N,N 尋找輸出 - 5 / \ 2 11 /\ /\ N 3 7 19 /\ /\ 6 8 N N /\/

    1熱度

    1回答

    我想返回圖的兩個頂點之間的最短路徑。我寫了一段代碼來查找breadthFirstSearch,但我不知道如何修改它以使其返回最短路徑。下面是我的廣度FirstSearch函數 private void breadthFirstSearch(T start,T end){ Queue<T> queue = new LinkedList<>(); Set<T> visited =

    -1熱度

    1回答

    在這段代碼中,我只想訪問節點並計算邊緣。第一次看起來不錯,但是當我通過新節點和邊緣時,它會給出0計數。我發現對於下一個節點和邊緣來說情況並非如此。這是我第一次實施BFS。 #include<bits/stdc++.h> using namespace std; vector<int>v[1000]; int level[1000]; bool vis[1000]; void bfs(in