移动拼图游戏(八数码问题) BFS版

本文介绍了使用BFS解决移动拼图游戏(八数码问题)的方法。通过建立节点结构,利用BFS寻找从初始状态到目标状态的最佳移动路径。程序在特定示例中分别用2秒和137秒找到了14步和28步的变换路径,显示了BFS在处理不同难度问题时的性能差异。
摘要由CSDN通过智能技术生成

小时候玩过的移动拼图游戏。有一个3*3的棋盘,其中有0-8这9个数字,0表示空格,每次移动只能把空格旁边的数字移到空格,即与0相邻的数字可以和0交换位置。

求从初始状态

2 3 0

7 1 6

5 8 4

变到目标状态

1 2 3

4 5 6

7 8 0

的最佳移动方案。


今天先用BFS练练手。

每个结点用一个长度为9的数组记录当前矩阵;用blankPos变量记录空格位置,便于计算出相邻结点;用parent指针指向BFS过程中的父节点&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值