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