![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
八数码
文章平均质量分 89
iteye_16560
这个作者很懒,什么都没留下…
展开
-
八数码问题源代码
题目描述:八方块移动游戏要求从一个含8个数字(用1-8表示)的方块以及一个空格方块(用0表示)的3x3矩阵的起始状态开始,不断移动该空格方块以使其和相邻的方块互换,直至达到所定义的目标状态。空格方块在中间位置时有上、下、左、右4个方向可移动,在四个角落上有2个方向可移动,在其他位置上有3个方向可移动。例如,假设一个3x3矩阵的初始状态为: 8 0 3 2 1 4 7 6 5目...原创 2012-04-07 11:05:04 · 548 阅读 · 0 评论 -
八数码问题(A*&&双向BFS)
题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=217 首先说一下八数码问题的可解性。 1.互换2个非零位置,状态的逆序奇偶性将保持不变。 2.互换0和另一个非零位置,状态的逆序奇偶性将发生颠倒。 3.因此,如果目标状态和起始状态的逆序奇偶性相...原创 2012-04-07 11:08:27 · 128 阅读 · 0 评论 -
用 A* 解决八数码问题
DescriptionThe 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 sliding tiles, each with a number from 1 to 15 on it, a...原创 2012-04-07 11:13:05 · 120 阅读 · 0 评论 -
双向广度优先搜索算法框架及八数码问题例程
双向广度优先搜索算法是对广度优先算法的一种扩展。广度优先算法从起始节点以广度优先的顺序不断扩展,直到遇到目的节点;而双向广度优先算法从两个方向以广度优先的顺序同时扩展,一个是从起始节点开始扩展,另一个是从目的节点扩展,直到一个扩展队列中出现另外一个队列中已经扩展的节点,也就相当于两个扩展方向出现了交点,那么可以认为我们找到了一条路径。双向广度优先算法相对于广度优先算法来说,由于采...原创 2012-04-07 11:16:29 · 186 阅读 · 0 评论 -
八数码问题使用HashTable优化查找后的版本
在《双向广度优先搜索算法框架及八数码问题例程》一文中,给出了使用双向广度优先搜索算法解决八数码问题的一个简单版本,查找都是线性的,没有优化。这里给出使用HashTable优化后的版本!/* * Author: puresky * Date: 2010.01.12 * Purpose: solve EIGTH NUMBER problem! */#include <stdio...原创 2012-04-07 11:17:46 · 91 阅读 · 0 评论 -
源代码:基于A*算法的八数码问题的实现(用OpenGL实现动态演示)
转载请注明出处:http://hi.baidu.com/lvchengbin405/blog/item/d95c2a1f722cb36bf624e42e.htmlState、EDCNode和EDC的定义与实现请参看上一篇文章:源代码:基于A*算法的八数码问题的实现(类的定义与实现)(http://hi.baidu.com/lvchengbin405/blog/item/e354fd1fa...原创 2012-04-15 21:25:29 · 244 阅读 · 1 评论 -
源代码:基于A*算法的八数码问题的实现(类的定义与实现)
转载请注明出处:http://hi.baidu.com/lvchengbin405/blog/item/e354fd1faaeb09c0a7866921.html // 类的定义头文件EDCPP.h#include <stdio.h>#include <stdlib.h>#ifndef _EDCPP_H#define _EDCPP_Hstr...原创 2012-04-15 21:25:50 · 123 阅读 · 0 评论