在一個4×4的方格的棋盤上,將數(shù)字1到15代表的15個棋子以任意的順序置入各方格中,空出一格。要求通過有限次的移動,把一個給定的初始狀態(tài)變成目標(biāo)狀態(tài)。移動的規(guī)則是:每次只能把空格周圍的四格數(shù)字(棋子)中的任意一個移入空格,從而形成一個新的狀態(tài)。為了有效的移動,設(shè)計了估值函數(shù)C1(x),表示在結(jié)點(diǎn)x的狀態(tài)下,沒有到達(dá)目標(biāo)狀態(tài)下的正確位置的棋子的個數(shù)。
請使用該估計函數(shù),對圖示的初始狀態(tài),給出使用分支限界方法轉(zhuǎn)換到目標(biāo)狀態(tài)的搜索樹。
設(shè)數(shù)組A有n個元素,需要找出其中的最大最小值。
(1)請給出一個解決方法,并分析其復(fù)雜性。
(2)把n個元素等分為兩組A1和A2,分別求這兩組的最大值和最小值,然后分別將這兩組的最大值和最小值相比較,求出全部元素的最大值和最小值。如果A1和A2中的元素多于兩個,則再用上述方法各分為兩個子集。直至子集中元素至多兩個元素為止。這是什么方法的思想?請給出該方法的算法描述,并分析其復(fù)雜性。
(1)基本思想:從頭到尾逐個掃描,紀(jì)錄最大和最小元素。
輸入:具有n個元素的數(shù)組
輸出:最大值和最小值
步驟: