资源简介
网上大部分解决8数码问题都只采用宽度优先算法。我在宽度优先的基础上,设计出深度优先算法。并制作出界面,方便输入、输出。希望能对学习相关内容的同志有所帮助

代码片段和文件信息
#include “StdAfx.h“
#include “BfsDfs.h“
CBfsDfs::CBfsDfs(void)
{
}
CBfsDfs::~CBfsDfs(void)
{
delete beg; //解决内存泄露的问题!
while(!m_Queue.empty())
{
map *inter=m_Queue.front();
m_Queue.pop();
delete inter;
}
}
CBfsDfs::CBfsDfs(int *pointint *goal)
{
numStep = 0;
beg = new map;
for (int n=0;n {
beg->dig[n] = *(point+n);
end.dig[n] = *(goal+n);
}
beg->last = NULL;
beg->lockDir = None;
beg->layer = 0;
}
bool CBfsDfs::Judge()
{
int a1=numDes(&end);
int a2=numDes(beg);
if(a1!=a2) return 0;
if (CheckRepeat(beg)) return 0;
if (CheckRepeat(&end)) return 0;
return 1;
}
void CBfsDfs::Cal(bool BorD)
{
double startTime=clock(); //设计计时器,计算所用过的时间
if (0 == BorD)
{
T=BNFS(beg&end);
}
else
{
T=DNFS(beg&end);
}
double endTime=clock();
if(T != NULL)
{
map *p=T;
stack
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5127 2010-09-16 15:36 EightPuzzle\EightPuzzle\BfsDfs.cpp
文件 1413 2010-09-16 14:50 EightPuzzle\EightPuzzle\BfsDfs.h
文件 61684 2010-09-16 15:12 EightPuzzle\EightPuzzle\EightPuzzle.aps
文件 1714 2010-09-14 19:04 EightPuzzle\EightPuzzle\EightPuzzle.cpp
文件 471 2010-09-14 19:04 EightPuzzle\EightPuzzle\EightPuzzle.h
文件 14655 2010-09-16 15:12 EightPuzzle\EightPuzzle\EightPuzzle.rc
文件 5635 2010-09-14 19:42 EightPuzzle\EightPuzzle\EightPuzzle.vcproj
文件 1425 2010-09-16 15:36 EightPuzzle\EightPuzzle\EightPuzzle.vcproj.yangtianzhi-PC.yangtianzhi.user
文件 6803 2010-09-16 15:25 EightPuzzle\EightPuzzle\EightPuzzleDlg.cpp
文件 1184 2010-09-16 15:25 EightPuzzle\EightPuzzle\EightPuzzleDlg.h
文件 2835 2010-09-14 19:04 EightPuzzle\EightPuzzle\ReadMe.txt
文件 21630 2005-12-08 14:56 EightPuzzle\EightPuzzle\res\EightPuzzle.ico
文件 367 2010-09-14 19:04 EightPuzzle\EightPuzzle\res\EightPuzzle.rc2
文件 1741 2010-09-16 15:12 EightPuzzle\EightPuzzle\resource.h
文件 142 2010-09-14 19:04 EightPuzzle\EightPuzzle\stdafx.cpp
文件 2489 2010-09-14 19:04 EightPuzzle\EightPuzzle\stdafx.h
文件 898 2010-09-14 19:04 EightPuzzle\EightPuzzle.sln
..A..H. 15360 2010-09-16 15:36 EightPuzzle\EightPuzzle.suo
目录 0 2010-09-14 19:04 EightPuzzle\EightPuzzle\res
目录 0 2010-09-16 15:37 EightPuzzle\EightPuzzle
目录 0 2010-09-16 15:37 EightPuzzle
----------- --------- ---------- ----- ----
145573 21
相关资源
- 利用启发式搜索解决八数码难题程序
- 深度优先搜索算法和广度优先搜索算
- A*算法和基于深度优先的八数码问题
- 八数码问题 九宫格问题 解决方案
- 九宫格源代码八数码算法VC实现.rar
- 迷宫程序VC图形化界面
- 深度优先搜索实现八数码问题
- 搜索算法演示程序
- 湘潭大学人工智能实验 状态空间法求
- 最大团问题---分支限界算法
- 西工大人工智能八数码实验报告
- 八数码 + 迭代深搜 +A*
- 图的深度优先遍历算法源码
- 八数码问题C代码 可直接运行
- 图的深度优先搜索遍历c代码实现
- GraphTraversal.zip
- 八数码 算法流程图.vsdx
- 八数码Astar算法js实现-人工智能大作业
- 数据结构图的邻接矩阵邻接表存储表
- 八数码三种实现方法的比较
- 利用栈的基本操作编写,按深度优先
- 食人魔过河问题深度优先搜索-prolog源
- 八数码问题的可视化实现
- A星算法求解八数码问题
- 求两点之间的所有路径(广度优先与
- 存储结构邻接表或邻接矩阵,图的广
- 图的存储结构邻接表或邻接矩阵,的
- 八数码求解过程动态演示
- 图的遍历:深度优先、广度优先
- 八数码 A*算法 附报告
评论
共有 条评论