【正文】
return false。 return true。} void backtrack (int t){ if ( tn ) sum++。 else for ( int i=1。 i=n。 i++) { x[t]=i。 if ( place(t) ) backtrack(t+1)。 }}回溯法 —— n皇后問題皇后問題?用回溯法解 n 皇后問題時,可以用一棵完全 n 叉樹表示其解空間。?用可行性約束函數(shù) palce( ) 剪去不滿足行、列和斜線約束的子樹。?上述給出的解 n 皇后問題的回溯法描述中,遞歸函數(shù) backtrack(1) 實現(xiàn)對整個解空間的回溯搜索。回溯法 —— n皇后問題皇后問題?在函數(shù) backtrack( ) 中,當(dāng) in 時,表示算法已搜索到一個葉子結(jié)點,得到一個新的 n 皇后互不攻擊放置方案,因此當(dāng)前已找到的可行方案數(shù) sum 增 1。?當(dāng) i=n 時,當(dāng)前擴展結(jié)點 Z 是解空間中的一個內(nèi)部結(jié)點。該結(jié)點有 x[i]=1,2,…, n 共 n 個兒子結(jié)點。對當(dāng)前擴展結(jié)點 Z 的每一個兒子結(jié)點,由函數(shù) place( ) 檢查其可行性,并以深度優(yōu)先的方式遞歸地對可行子樹進行搜索,或減去不可行子樹?;厮莘?—— 圖的圖的 m 著色問題著色問題 給定無向連通圖給定無向連通圖 G 和和 m 種不同的顏色。用這些顏色種不同的顏色。用這些顏色為圖為圖 G 的各頂點著色,每個頂點著一種顏色。是否有的各頂點著色,每個頂點著一種顏色。是否有一種著色法使一種著色法使 G 中每條邊的中每條邊的 2 個頂點著不同顏色。個頂點著不同顏色。 這個問題是 圖的 m 可著色判定問題 。若一個圖最少需要 m 種顏色才能使圖中每條邊連接的 2 個頂點著不同顏色,則稱這個數(shù) m 為該圖的色數(shù)。求一個圖的色數(shù) m 的問題稱為圖的 m 可著色優(yōu)化問題。?問題: 給定圖 G=(V,E) 和 m 種顏色,如果圖不是 m可著色,給出否定回答;如果這個圖是 m 可著色,找出所有不同的著色法。?解向量 :(x1, x2, … , x n) 表示頂點 i 所著顏色 x[i] ?可行性約束函數(shù):頂點 i 與已著色的相鄰頂點顏色不重復(fù)?;厮莘?—— 圖的圖的 m 著色問題著色問題回溯法 —— 圖的圖的 m 著色問題著色問題void backtrack(int t) { if ( tn ) sum++。 else for ( int i=1。 i=m。 i++) { x[t]=i。 if ( ok(t) ) backtrack(t+1)。 } }boolean ok(int k) { // 檢查顏色可用性 for ( int j=1。 j=n。 j++) if ( a[k][j] (x[j]= =x[k]) ) return false。 //a[ ][ ]為圖的鄰接矩陣 return true。 }}?上述給出的解圖的 m 著色問題的回溯法描述中,遞歸函數(shù) backtrack(1) 實現(xiàn)對整個解空間的回溯搜索。?在 函數(shù) backtrack( ) 中,當(dāng) in 時,表示算法已搜索到一個葉子結(jié)點,得到一個新的 m 著色方案方案,因此當(dāng)前已找到的可 m 著色方案數(shù) sum 增 1。?當(dāng) i=n 時,當(dāng)前擴展結(jié)點 Z 是解空間中的一個內(nèi)部結(jié)點。該結(jié)點有 x[i]=1,2,…, m 共 m 個兒子結(jié)點。對當(dāng)前擴展結(jié)點 Z 的每一個兒子結(jié)點,由函數(shù) ok( ) 檢查其可行性,并以深度優(yōu)先的方式遞歸地對可行子樹進行搜索,或減去不可行子樹?;厮莘?—— 圖的圖的 m 著色問題著色問題回溯法 —— 圖的圖的 m 著色問題著色問題復(fù)雜度分析圖的 m 可著色問題的解空間樹中內(nèi)結(jié)點個數(shù)是對于每一個內(nèi)結(jié)點,在最壞情況下,用 ok 檢查當(dāng)前擴展結(jié)點的每一個兒子所相應(yīng)的顏色可用性需耗時O(mn)。因此,回溯法總的時間耗費是? 樹立質(zhì)量法制觀念、提高全員質(zhì)量意識。? 人生得意須盡歡,莫使金樽空對月。? 安全象只弓,不拉它就松,要想保安全,常把弓弦繃。? 加強交通建設(shè)管理,確保工程建設(shè)質(zhì)量。? 安全在于心細(xì),事故出在麻痹。? 踏實肯干,努力奮斗。? 追求至善憑技術(shù)開拓市場,憑管理增創(chuàng)效益,憑服務(wù)樹立形象。? 嚴(yán)格把控質(zhì)量關(guān),讓生產(chǎn)更加有保障。? 作業(yè)標(biāo)準(zhǔn)記得牢,駕輕就熟除煩惱。? 好的事情馬上就會到來,一切都是最好的安排。? 專注今天,好好努力,剩下的交給時間。? 牢記安全之責(zé),善謀安全之策,力務(wù)安全之實。? 相信相信得力量。謝謝大家!