下面是用回溯法求解馬的周游問題的算法;空白處應(yīng)填?
馬的周游問題:給出一個(gè)n*n棋盤,已知一個(gè)中國象棋馬在棋盤上的某個(gè)起點(diǎn)位置(x0,y0),求一條訪問每個(gè)棋盤格點(diǎn)恰好一次,最后回到起點(diǎn)的周游路線。(設(shè)馬走日字。)
算法HORSETRAVEL
輸入:正整數(shù)n,馬的起點(diǎn)位置x0,y0),1<=x0,y0<=n。
輸出:一條從起點(diǎn)始訪問n*n棋盤每個(gè)格點(diǎn)恰好一次,最后回到起點(diǎn)的周游
路線;若問題無解,則輸出nosolution。
下面是求解矩陣鏈乘問題的動態(tài)規(guī)劃算法;空白處應(yīng)填?
矩陣鏈乘問題:給出n個(gè)矩陣M1,M2,…,Mn,Mi為ri*ri+1階矩陣,i=1,2,…,n,求計(jì)算M1M2…Mn所需的最少數(shù)量乘法次數(shù)。
記Mi,j=MiMi+1…Mj,i<=j。設(shè)C[i,j],1<=i<=j<=n,表示計(jì)算Mi,j的所需的最少數(shù)量乘法次數(shù),則
設(shè)n個(gè)不同的整數(shù)按升序存于數(shù)組A[1..n]中,求使得A[i]=i的下標(biāo)i。下面是求解該問題的分治算法??瞻滋帒?yīng)填寫?
1.1,n
2.low>high
3.A[mid]=mid
4.mid+1,high
5.find(low,mid-1)