本文有以下內(nèi)容:
安陽網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,安陽網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為安陽上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的安陽做網(wǎng)站的公司定做!
廣度優(yōu)先搜索的描述
廣度優(yōu)先搜索的優(yōu)點(diǎn)
3. 廣度優(yōu)先搜索的代碼模版
描述:
廣度優(yōu)先搜索算法用于樹的遍歷。算法的描述概括如下:
取得當(dāng)前節(jié)點(diǎn)
將當(dāng)前節(jié)點(diǎn)入隊(duì)列
當(dāng)隊(duì)列不為空時(shí),獲得隊(duì)頭節(jié)點(diǎn)head,隊(duì)頭head出隊(duì)列;
判斷隊(duì)頭的狀態(tài)是否是待求狀態(tài)
是,則作相應(yīng)處理;結(jié)束算法
不是,將head的所有滿足條件的子節(jié)點(diǎn)入隊(duì)列,返回步驟II
廣度優(yōu)先搜索的優(yōu)點(diǎn):
廣度優(yōu)先搜索算法的適用于最短路徑之類的問題,由于該算法對(duì)狀態(tài)樹的遍歷是遵從層序遍歷的,所以總是可以保證先找到的是最優(yōu)的。此外,該算法的在處理某些特殊情況時(shí),需要調(diào)整數(shù)據(jù)結(jié)構(gòu),調(diào)整的方式大致為改隊(duì)列為優(yōu)先隊(duì)列、更改節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)(如:添加一些變量來對(duì)狀態(tài)進(jìn)行判斷)等;具體的修改方式隨需求而變。
廣度優(yōu)先搜索算法的代碼模版
void bfs(int x,int y) { node in,out;//此處node為當(dāng)前節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu) queue<node> q;//此處的queue是C++STL中的容器queue //當(dāng)前節(jié)點(diǎn)入隊(duì)列 in.x=x;in.y=y; q.push(in); //判斷當(dāng)前隊(duì)列是否為空 while(!q.empty()) { out=q.front();//取得當(dāng)前隊(duì)列的隊(duì)頭 q.pop();//將隊(duì)頭出隊(duì)列 if(隊(duì)頭滿足條件) { //作相應(yīng)處理 reutrn ; } else { while(當(dāng)前節(jié)點(diǎn)out有子節(jié)點(diǎn)) { //獲得當(dāng)前節(jié)點(diǎn)out的滿足條件的子節(jié)點(diǎn) //將該子節(jié)點(diǎn)入隊(duì)列 } } } }
當(dāng)前題目:廣度優(yōu)先搜索(bfs)
網(wǎng)頁鏈接:http://jinyejixie.com/article30/jjpgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、Google、定制網(wǎng)站、全網(wǎng)營(yíng)銷推廣、App開發(fā)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)