欢迎光临散文网 会员登陆 & 注册

14.10马踏棋盘算法

2022-02-06 19:35 作者:取悦疾风  | 我要投稿

内容来自尚硅谷Java数据结构与java算法(Java数据结构与算法)_哔哩哔哩_bilibili

写在前面:本文内容大致和原视频内老师的笔记内容相同,会偶尔插入自己的注释和理解,尽量会完成作业

有159集,记得要看

14.10.1马踏棋盘算法介绍和游戏演示

1)      马踏棋盘算法也被称为骑士周游问题

2)      将马随机放在国际象棋的8×8棋盘Board[0~7][0~7]的某个方格中,马按走棋规则(马走日字)进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格

14.10.2马踏棋盘游戏代码实现

马踏棋盘问题(骑士周游问题)实际上是图的深度优先搜索(DFS)的应用。

如果使用回溯(就是深度优先搜索)来解决,假如马儿踏了53个点,如图:走到了第53个,坐标(1,0),发现已经走到尽头,没办法,那就只能回退了,查看其他的路径,就在棋盘上不停的回溯……

思路分析+代码实现

分析第一种方式的问题,并使用贪心算法(greedyalgorithm)进行优化。解决马踏棋盘问题.

使用前面的游戏来验证算法是否正确。

代码实现


14.10马踏棋盘算法的评论 (共 条)

分享到微博请遵守国家法律