今天在队长的带领下,学习了马踏棋盘算法。
一、马踏棋盘算法的介绍
1.马踏棋盘算法也称为骑士周游问题。
2.将马随机放在国际象棋的8 × 8棋盘Board[0~7] [0~7]的某个方格中,马按走棋规则(马走日字)进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格。
二、马踏棋盘算法的基本思路
1.马踏棋盘问题(骑士周游世界问题)实际上是图的深度优先搜索(DFS)的应用。
2.如果使用回溯(就是深度优先搜索)来解决,假如马儿踏了第53个,发现已经走到了尽头,没办法,那就只能回退了,查看其他的路径,就在棋盘上不停回溯…效率很低。
3.因此需要使用贪心算法(greedyalgorithm)进行优化。直接使用贪心算法,优化思路来解决马踏棋盘问题。
三、马踏棋盘算法的步骤
1.创建棋盘chessBoard,是一个二维数组。
2.将当前位置设置为已经访问,然后根据当前位置,计算马儿还能走哪些位置,并放入到一个集合中(ArrayList),最多有8个位置。
3.遍历ArrayList中存在的所有位置,看看哪个可以走通;如果走通,继续,走不通,就回溯。
4.判断马儿是否完成任务了任务step和应该走的步数比较。
注意:马儿的不同走法(策略),会得到不同的结果,效率也会有影响(优化)。
学习算法,应该有打破砂锅问到底的精神,正所谓"形而上学,学无止境"。
http://www.dxsbao.com/shijian/474025.html
点此复制本页地址
(通讯员闫博2023年1月15日)为了提高大学生社会实践能力,湖北师范大学计算机与信息工程学院蒲公英实践队举办了寒调活动,今天是寒调的最后一天。早上八点,队员们拍照打卡,开始进行一天……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>
(通讯员闫博2023年1月14日)今天是十天社会实践活动的第九天。假期寒调活动的倒数第二天。早上八点队员们正常签到打卡。上午九点半,开始今天的第一节课,第一节课是由投稿组负责的公开课……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>
(通讯员闫博2023年1月13日)今天是十天社会实践活动的第八天。寒调支教活动已经接近尾声。早上八点队员们正常签到打卡。今天的第一节课开始于下午的两点钟,课程时长持续一个半小时,课程……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>
(通讯员闫博2023年1月12日)今天是十天社会实践活动的第七天。寒调支教活动已经过去大半了。早上八点队员们正常签到打卡。上午九点半,开始今天的第一节课,第一节课是由摄影剪辑组负责的……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>
(通讯员闫博2023年1月11日)今天是十天社会实践活动的第六天。寒调支教活动已经过去一半了。早上八点队员们正常签到打卡,上午10点,蒲公英实践队进行关于调查问卷的会议。会议开始前,由……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>
(通讯员闫博2023年1月10日)今天是十天社会实践活动的第五天。寒调支教活动已经过去一半了。早上八点左右,队员们正常打卡签到。上午九点半,开始今天的第一节课,第一节课为通讯组队员负……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>
(通讯员闫博2023年1月9日)今天是十天社会实践活动的第四天。早上八点,队员们正常打卡签到。上午闫博老师让他的学生休息一上午,今天的第一节课从中午十二点开始。第一节课为英语寒假作……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>
(通讯员闫博2023年1月8日)今天是十天支教活动的第三天,经过两天的锻炼,第三天的支教活动显得游刃有余。早上八点,正常打卡签到。上午九点三十分,举行蒲公英实践队本次支教活动的第一……
闫博 湖北师范大学计算机与信息工程学院查看全文 >>