看了下廣度優先搜尋演算法得定義為從乙個頂點開始,找到最短路勁,歸結為一種連通圖得遍歷策略
如果我們要求v0到v6的一條最短路(假設走乙個節點按一步來算)【注意:此處你可以選擇不看這段文字直接看圖3-1】,我們明顯看出這條路徑就是v0->v2->v6,而不是v0->v3->v5->v6。先想想你自己剛剛是怎麼找到這條路徑的:首先看跟v0直接連線的節點v1、v2、v3,發現沒有v6,進而再看剛剛v1、v2、v3的直接連線節點分別是:、、(這裡畫刪除線的意思是那些頂點在我們剛剛的搜尋過程中已經找過了,我們不需要重新回頭再看他們了)。這時候我們從v2的連通節點集中找到了v6,那說明我們找到了這條v0到v6的最短路徑:v0->v2->v6,雖然你再進一步搜尋v5的連線節點集合後會找到另一條路徑v0->v3->v5->v6,但顯然他不是最短路徑。
關於廣度優先搜尋演算法,可以看下這個鏈結得博文 裡面詳細得講解了如何使用廣度優先搜尋演算法來查詢最短路徑,以及提供了例子和詳細得講解。
廣度優先搜尋演算法
廣度優先搜尋 bfs 這個是第乙個研究的課題,廣度優先搜尋也叫寬度優先搜尋,英文為breadth first searth,開始看的時候一頭霧水,基本也能懂大致意思,但是還不是真正的理解,今天又仔細看看,大致理解上又更深了一層吧。下面來總結下,自己的一些體會,以及對它的獨到的理解。大的方面來說它是一...
廣度優先搜尋演算法
在深度優先搜尋中,深度越大的結點越先得到擴充套件。如果把它改為深度越小的結點越先得到擴充套件,就是廣度優先搜尋法。廣度優先搜尋演算法的基本思想 1 建立乙個空的狀態佇列ss 2 建立乙個空的狀態庫sb 3 把初始狀態s 0 存入佇列ss中 4 若佇列狀態是目標狀態,則搜尋成功,演算法執行中止。如該狀...
廣度優先搜尋演算法
廣度優先搜尋解決兩個問題 第一類問題 從節點a出發,有前往節點b的路徑嗎?第二類問題 從節點a出發,前往節點b的哪條路徑最短?假設你經營著乙個芒果農場,需要尋找芒果銷售商,以便將芒果賣給他。在facebook,你與芒果銷售商有聯絡嗎?為此,你可在朋友中查詢。這樣一來,你不僅在朋友中查詢,還在朋友的朋...