社区
下载资源悬赏专区
帖子详情
a*算法解决八数码 源码下载
weixin_39820780
2019-07-19 07:30:24
利用启发式搜索中的A*算法解决八数码问题,比传统的宽度优先等搜索算法具有更高的效率
相关下载链接:
//download.csdn.net/download/tangzhangpeng/3432849?utm_source=bbsseo
...全文
13
回复
打赏
收藏
a*算法解决八数码 源码下载
利用启发式搜索中的A*算法解决八数码问题,比传统的宽度优先等搜索算法具有更高的效率 相关下载链接://download.csdn.net/download/tangzhangpeng/3432849?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Java-A*
算法
解决
八数码
问题
算法
源码
用A*
算法
(人工智能或者数据结构与
算法
课程可能会学)
解决
八数码
问题: 初始状态 目标状态 2 8 3 1 2 3 1 6 4 8 4 7 5 7 6 5 java实现方法在
源码
中。
a*
算法
解决
八数码
源码
利用启发式搜索中的A*
算法
解决
八数码
问题,比传统的宽度优先等搜索
算法
具有更高的效率
采用A*
算法
解决
八数码
问题
采用A*
算法
解决
八数码
问题,文中包括
算法
的详细设计和实现,并附有源代码。
使用A*
算法
实现8数码问题的求解
include using namespace std; struct node{ int nodesun[4][4]; int pre; //上一步在队列中的位置 int flag ; //步数标识,表示当前的步数为有效的 int value; //与目标的差距 int x,y; //空格坐标 }queue[1000]; //移动方向数组 int zx[4]={-1,0,1,0}; int zy[4]={0,-1,0,1}; //当前步数 int top; int desti[4][4];//目标状态 int detect(struct node *p)//检查是否找到 {int i,j; for(i=1;i<4;i++) for(j=1;jnodesun[i][j]!=desti[i][j]) return 0; return 1; } //打印 void printlj() {int tempt; int i,j; tempt=top; while(tempt!=0) { for(i=1;i<4;i++) for(j=1;j<4;j++) {cout<
temp; queue[1].nodesun[i][j]=temp; } cout<<"请输入初始状态的空格的位置(行)"<>temp; queue[1].x=temp; cout<<"请输入初始状态的空格的位置(列)"<>temp; queue[1].y=temp; queue[1].value=VALUE(&queue[1]); queue[1].pre=0; //上一步在队列中的位置 queue[1].flag=0; //目标状态 for(i=1;i<4;i++) for(j=1;j<4;j++) {cout<<"请输入目标状态第"<
temp; desti[i][j]=temp; } //根据估价函数 while(!find&&top>0) { for(i=1;i<=top;i++) //////////////////////////////////////////// //min为上一图中与目标图有多少个元素不相同,queue[i]为当前图与目标图有多少个元素不相同通过这两个数的比较,就可以得出当前图较之上一图向目标图接近同时把当前的i记录下来进行下一步比较 {if(queue[i].value
A*
算法
实现N数码问题求解
使用C++实现基于A*
算法
的N数码问题,是8数码问题的拓展。
下载资源悬赏专区
13,655
社区成员
12,585,872
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章