breadth-first-search

    2熱度

    2回答

    我是介紹性CS課程的助教,給學生的一個問題是如何使用BFS來確定未加權的無向圖的直徑。學生被告知他們不會被分級以提高效率,所以預期的答案是一個強力算法,他們從每個節點到每個其他節點運行BFS,並從這些BFS運行返回最大距離。給學生們提供了他們可以參考的BFS方法,他們的僞代碼輸入了一個節點並返回了兩個映射:一個從圖中的每個節點到它離開始節點的距離(稱爲distmap),一個來自每個節點到沿着輸入節

    -1熱度

    1回答

    void traverse(Node* root) { queue<Node*> q; if (root) q.push(root); while (!q.empty()) { const Node * const temp_node = q.front(); q.pop(); cout<<temp_node

    2熱度

    1回答

    我正在處理二叉樹。 因此,我在我的數據庫中有一個數據庫表,其中每個節點都是父節點,最多可以連接2個其他節點。我有一個計劃,可以有效地找到最少的節點(在給定節點下),該節點是少於2個其他節點的父節點。換句話說,我正在尋找最開放的位置來放置一個新節點。所以我把它作爲一個廣度優先搜索來實現。但是我爲每個節點調用數據庫的方式效率不高。我基本上是沿着樹,在每個級別上生成一個運行的節點列表,並檢查每個節點是否

    0熱度

    1回答

    我想從CodeFights中找出這個問題,但我沒有很多圖遍歷的經驗,所以我很掙扎。我爲這個問題閱讀的提示之一是「圖遍歷」,所以我做了一個BFS,但我不知道如何獲得雲數量。 無論出於何種原因,這個問題和其他許多問題,當我們爲它編寫代碼時,我的思維往往會變得空白。我試圖找到連續的1,但無濟於事。任何人都可以幫助我嗎? https://codefights.com/interview/pDTvSuHBg

    0熱度

    1回答

    我試圖實現一個「廣度優先」算法,作爲我在書中看到的某種變體。 我的問題是算法沒有將每個節點的元素添加到隊列中。 舉例來說,如果我搜索的「黑實驗室」之稱的「瑪麗拉」下的「搜索()」函數,我會得到正確的輸出:「西蒙是個黑實驗室」 然而,我應該能夠在「walter」中找到「黑色實驗室」,它與連接到「simon」的「mariela」連接,「simon」是一個「黑色實驗室」,這是行不通的。有我在執行這個算法

    0熱度

    1回答

    深度優先搜索將查找兩個節點之間的所有循環路徑[限制節點大小]。下面的圖片將爲您提供一個更清晰的描述

    0熱度

    1回答

    我正在研究廣度優先搜索或BFS算法,並且我遇到了一個想法。我顯示了我已經實現BFS的圖的樹結構。現在,也許我可以只顯示在使用鏈表不同的方式樹形結構,但我想修改我使用的顯示樹狀結構的BFS方法 public class BFS { private Queue<Integer> queue; public BFS() { queue = new LinkedList<Intege

    -2熱度

    1回答

    給定一個大小爲N的方陣。它由元素0,1和2組成。我們必須確定是否存在從位置[0,0]到[N-1,N-1]的任何路徑。我們可以向上,向下,向左,向右四個方向移動。 我們只能移動0。 1是閉鎖元件,,而2是可移動的塊,如果可能的話可以移動以形成路徑。 我能夠通過遞歸解決簡單的迷宮問題,但我應該如何處理可移動的塊。 Example Matrix : 0 1 1 0 1 0 2 0 0 1 1 0

    2熱度

    1回答

    我們如何統計任意兩個節點之間的節點 - 不相交路徑的數量,使得兩個節點之間的距離最大K ? 有關節點 - 不相交路徑的詳細信息可以是found here。 我們給出一個有向圖,其中我們必須計數節點的數目 - 從頂點u不相交路徑v使得它們之間的節點的最大數目爲K - 2(u和v從ķ遞減,因此K-2)。圖中頂點的數量可以高達10^5並且邊緣可以是6 * 10^5。我想爲每個節點實施BFS,直到距離源節

    0熱度

    1回答

    我給了一個數組,arr = [3,4,2,3,0,3,1,2,1]和一個startIndex。當我在索引i時,我可以通過arr [i]向左或向右移動。我的任務是找到我是否可以達到0. 任何人都可以幫助我的方法嗎? 謝謝:)