關於廣度優先搜尋的一些領悟

2021-10-23 01:26:19 字數 815 閱讀 5269

也不算是領悟吧,就是一些感想,樹的bfs很簡單,應該輕車熟路了,就是把節點放在佇列中,每次都把他的子節點再放進去,無腦遍歷就行了,因為樹相當於是有向的圖,所以不用標記每個點是否被遍歷過,因為每個點肯定都只遍歷一次,但是今天遇到了圖的bfs,說實話,圖一直都沒有複習,所以對於這種問題,思路還是沒那麼清晰的,下面列出此題:

我們首先看這是樹的應用,但是慢慢會發現,我們就是一層一層的找,把盡可能多的點都放在一層,最後那一層肯定就是符合要求的,所以我們模擬一下鄰接表和出度和入度(這題是無向,題中有顯示,變為度),每次把度為1的都加入佇列,進行bfs就行啦,剩下最後一層,用鍊錶進行承接,順便說一下,jdk1.8hashmap是陣列,鍊錶,紅黑樹,鍊錶長度大於8那麼變為紅黑樹,紅黑樹數量少於6,那麼變為鍊錶,負載因子是0.75.。好啦複習完啦,列出**:

public listfindminheighttrees(int n, int edges) 

int degree = new int[n];

list> map = new arraylist<>();

for (int i = 0; i < n; i++)

for (int edge : edges)

queuequeue = new linkedlist<>();

for (int i = 0; i < n; i++)

}while (!queue.isempty()) }}

}return ans;

}

睡覺咯

廣度優先搜尋的一些學習筆記

什麼是圖?圖由節點和邊組成。乙個節點可能與眾多節點直接相連,這些節點也被稱為鄰居。圖用於模擬一組連線。例如從雙子峰到金門大橋的出行路線圖 由上面這個圖,我們要找出從雙子峰到金門大橋的最短換乘路線,這個問題被稱為最短路徑問題,而解決最短路徑問題的演算法被稱為廣度優先搜尋。廣度優先搜尋是一種用於圖的查詢...

關於一些C 程式設計的領悟

學校剛剛開了程式設計課,因為我是學軟體開發的,當然就對這個東西很感興趣。由於本人是大一的新生,水平也有限,對c也是不很熟悉,為了達到自己的要求,就在這裡對我所遇到的問題和如何解決的和大家一起分享。希望和我同個級別的也能從中學到些東西。下面是我在實際操作中遇到的問題 說的是如何利用c求解e的近似值 e...

關於佇列(還有廣度優先搜尋的例題)

本博文的目錄 1 佇列 2 佇列的例題 3 廣度優先搜尋的例題 1 佇列 佇列是什麼?佇列是一種特殊的線性表,與棧不同,這種線性表只允許在表的前端 我們稱為front或head 進行刪除操作,在表的後端 我們稱作rear或tail 進行插入操作。所以又叫f first i in f first o ...