設計說明:1。數據結構和表示:程序用1、2、3、4分別表示將右、上、左、下的數字塊移動到空格之中。采用典型的樹+鏈表結構,每種局面產生一個BoardState類。出于避免走法順序列表被過多復制的考慮,在樹結構中保存局面的繼承關系。每種新的局面產生后,引用估值函數產生f的值,再根據大小將其插入鏈表之中,以便實現“優先展開f值小的節點”。Solve()函數在成功解決問題之后保存一個走法序列供輸出并返回零,而失敗則返回失敗處的節點層數。(具體的判斷方法見后文)
標簽:
數據結構
分
典型
數字
上傳時間:
2015-05-02
上傳用戶:xieguodong1234