今天在队长的带领下,学习了马踏棋盘算法。
一、马踏棋盘算法的介绍
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
点此复制本页地址
为改善居住环境,曲阜师范大学计算机学院青春筑梦实践队员于2024年2月16日来到吉林省延边州和龙市民惠社区参加清扫卫生实践活动。这群充满活力的实践队队员们携手社区居民,共同为提升社区……
翩翩 曲阜师范大学计算机学院查看全文 >>
为进一步了解家乡春节习俗,感受传统文化魅力,2月5日,“青春筑梦实践队”成员在河北省石家庄市行唐县展开了春节民俗的实践调研活动。为了进一步了解各个地区的特色年俗,深入分析当下传……
翩翩 曲阜师范大学计算机学院查看全文 >>
在新年的钟声敲响之际,曲阜师范大学青春筑梦实践队在平凉市灵台县城东社区组织开展了一项关于社区居民对新年生活期望的调研活动。该活动通过问卷和访谈的形式,深入了解居民的生活需求……
翩翩 曲阜师范大学计算机学院查看全文 >>
近日,来自曲阜师范大学青春筑梦实践队的实践队员们,在社东社区新时代文明实践站的指导下,积极投入到了社区图书储存室的清洁整理活动中。他们希望通过自己的努力,为社区居民提供一个……
翩翩 曲阜师范大学计算机学院查看全文 >>
寒冬腊月,春节将至,青春筑梦实践队队员们参加了由山东省潍坊市临朐县县团委举办的“学子家乡行”社会实践活动。这次活动旨在让在外求学的学子深入了解家乡的发展变化,同时也是一次锻……
翩翩 曲阜师范大学计算机学院查看全文 >>
实践队员筑起安全防线助力城市交通秩序——曲阜师范大学社区青春筑梦实践队为了确保交通秩序井然,市民安全出行,曲阜师范大学计算机学院社区青春筑梦实践队于2024年2月17日在泰安市的高街……
翩翩 曲阜师范大学计算机学院查看全文 >>
社区阅读吧通过读书能够不断提高居民的素质和文化品位,促进社区物质文明、政治文明和精神文明再上新水平,为了进一步满足社区不断增长的文化需求,力足社区、服务社区、发展社区,积极……
翩翩 曲阜师范大学计算机学院查看全文 >>
老有所思,老有所爱——走访老人家,展开温暖聊天为了让老年人感受到社会的温暖和关怀,曲阜师范大学青春筑梦实践队于2024年2月16日在费县薛庄镇的一个小村庄里展开了一次走访聊天活动,……
翩翩 曲阜师范大学计算机学院查看全文 >>