[077] Java 用递归和贪心算法解决和优化“骑士周游问题”
1、问题及算法描述问题:在一个 8*8 的棋盘上,马按照“日”字走,给定一个起点,打印出马不重复的走完棋盘64个格子的路径。 解答:递归 + 回溯 。对于任一步,马能走的下一步最多有8个位置,满足两个条件: 依旧在棋盘内; 没有被访问过; 如果下一步没有可选项,这时候就需要回溯,选择新的下一步。 优化: 暴力递归,对于8*8的棋盘,一般需要运行30秒左右才能出来结果; 优化方式:贪心算法优化,对下一步的下一步可选择数目做非递减排序,然后选择走数目最少的一步,减少回溯的次数;






