14.10馬踏棋盤算法
內(nèi)容來自尚硅谷Java數(shù)據(jù)結構與java算法(Java數(shù)據(jù)結構與算法)_嗶哩嗶哩_bilibili
寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會偶爾插入自己的注釋和理解,盡量會完成作業(yè)
有159集,記得要看
14.10.1馬踏棋盤算法介紹和游戲演示
1)????? 馬踏棋盤算法也被稱為騎士周游問題
2)????? 將馬隨機放在國際象棋的8×8棋盤Board[0~7][0~7]的某個方格中,馬按走棋規(guī)則(馬走日字)進行移動。要求每個方格只進入一次,走遍棋盤上全部64個方格

14.10.2馬踏棋盤游戲代碼實現(xiàn)
馬踏棋盤問題(騎士周游問題)實際上是圖的深度優(yōu)先搜索(DFS)的應用。
如果使用回溯(就是深度優(yōu)先搜索)來解決,假如馬兒踏了53個點,如圖:走到了第53個,坐標(1,0),發(fā)現(xiàn)已經(jīng)走到盡頭,沒辦法,那就只能回退了,查看其他的路徑,就在棋盤上不停的回溯……
思路分析+代碼實現(xiàn)

分析第一種方式的問題,并使用貪心算法(greedyalgorithm)進行優(yōu)化。解決馬踏棋盤問題.

使用前面的游戲來驗證算法是否正確。
代碼實現(xiàn)
標簽: