今天在队长的带领下,学习了马踏棋盘算法。
一、马踏棋盘算法的介绍
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年7月17日,此次三下乡社会实践中我们“筑梦成长,青年先行”大学生社会实践专项行动团队在南雅村共同见证了一场意义非凡的捐书仪式。这个仪式不仅仅代表着一种慷慨的捐赠行为,更蕴含……
高菽敏 重庆人文科技学院英语查看全文 >>
南雅捐书活动为深入贯彻落实习近平新时代中国特色社会主义思想,全面学习党的二十大精神,且落实重庆人文科技学院厚德笃行,求真创造的校训,重庆人文科技学院外国语学院“筑梦成长,青……
高菽敏 重庆人文科技学院英语查看全文 >>
传承传统文化遗产重庆市开州区南雅镇南雅村以其悠久的历史和独特的地域文化,承载着丰富的传统文化底蕴。为了传承、保护和弘扬这一宝贵遗产,提升南雅的文化自信和凝聚力,2023年7月20日上……
高菽敏 重庆人文科技学院英语查看全文 >>
探索传统文化瑰宝党的二十大强调了传承和发展中华优秀传统文化的重要性。通过开展此次三下乡活动,实践团可以深入了解南雅镇的传统文化,特别是编箩筐这一传统手工艺,积极传承和弘扬中……
高菽敏 重庆人文科技学院英语查看全文 >>
探寻传统手工艺2023年7月19日在三下乡社会实践中“筑梦成长,青年先行”实践团在重庆市开州区南雅镇开始了对传统手工艺的探寻。传统手工艺作为中华民族的瑰宝,正在重新焕发出令人惊叹的生……
高菽敏 重庆人文科技学院英语查看全文 >>
领悟传统编织习近平总书记关于传承发展中华优秀传统文化的重要讲话和重要指示批示精神,为做好传承发展工作指明了前进方向,提供了根本遵循。——滋养文艺创作,推出一批优秀文艺作品。……
高菽敏 重庆人文科技学院英语查看全文 >>
探寻传统文化为弘扬优秀中华传统文化,挖掘传统文化内涵,7月19日,重庆人文科技学院外国语学院“筑梦成长,青年先行”大学生社会实践专项行动团与南雅镇工作人员前往重庆市开州区南雅镇……
高菽敏 重庆人文科技学院英语查看全文 >>
社区基层干部访谈2023年7月20日下午,重庆人文科技学院外国语学院“筑梦成长,青年先行”大学生社会实践团在暑期三下乡社会实践活动中前往重庆市开州区南雅镇社区服务中心对其基层干部进行……
高菽敏 重庆人文科技学院英语查看全文 >>