1. 程式人生 > >A – EIGHT

A – EIGHT

而後 解題報告 問題 sans line lin isa dsm 狀態

八數碼轉換問題……
經典bfs……
關鍵問題:
1.狀態的保存(見longwuxu該題解題報告中的全排列Hash表示)
2.bfs中標記數組的處理:
bfs中有兩個標記數組,一個是標記隊列中節點的標記數組isadd[],還有一個是標記已訪問節
點標記數組isvis[]。前者在入隊列的時候進行標記。而後者則要在出隊列的時候才進行標記
用isadd標記的時候隊列中不會出現反復的節點。而用isvis標記的時候隊列中會出現反復的
節點。所曾經者要比後者的效率高。所占用的空間也要少……一般採用isadd[]數組標記較優

A – EIGHT