八数码转换问题……

经典bfs……

关键问题:

1.状态的保存(见longwuxu该题解题报告中的全排列Hash表示)

2.bfs中标记数组的处理:

    bfs中有两个标记数组,一个是标记队列中节点的标记数组isadd[],还有一个是标记已訪问节

    点标记数组isvis[]。前者在入队列的时候进行标记。而后者则要在出队列的时候才进行标记

    用isadd标记的时候队列中不会出现反复的节点。而用isvis标记的时候队列中会出现反复的

    节点。所曾经者要比后者的效率高。所占用的空间也要少……一般採用isadd[]数组标记较优

随机推荐

  1. 4.flask数据库

    1.安装MySQL 直接去下载即可,如果是windows建可以下载msi,一路next即可.我已经安装过了,这里就不再演示了. 最后使用Navicat连接测试一下,我这里是没有问题的 2.SQLAlc ...

  2. [ Python - 10 ] 练习:批量管理主机工具

    需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ## 需求: 主机分组 登录后显示主机分组,选择分组后查 ...

  3. setCharacterEncoding 和 setContentType

    request.setCharacterEncoding("gbk"); response.setContentType("text/html;charset=gbk&q ...

  4. Sikuli 安装使用之初体验(为Sikuli X指定jre路径)

    Sikuli 是一种新颖的图形脚本语言,在实际的自动化测试中如果仅仅依靠selenium 还是远远不够的,selenium自动化本身是存在着诸多缺陷的,基于浏览器之外的控件 (windows 控件 等 ...

  5. 使用MybatisGenerator自动生成Model,Mapping和Mapper文件

    Mybatis和Hibernate都是持久层框架,MyBatis出现的比Hibernate晚,这两种框架我都用过,对于二者的优势我的感触不深,个人感觉MyBatis自动生成model,Mapping, ...

  6. libev 学习使用

    libev 简单的I/O库.  a high performance full featured event loop written in c libev 的大小也比 libevent 小得多并且自 ...

  7. C# 连接和操作SQL SERVER数据库

    用C#sqlserver实现增删改查http://www.worlduc.com/blog2012.aspx?bid=730767 using System.Data;using System.Dat ...

  8. Ajaxterm + nginx 实现一个简单的堡垒机

    https://blog.csdn.net/zhang19771105/article/details/50497581 http://wuliangxx.iteye.com/blog/600113

  9. HDU 多校1.8

  10. HDU 2503 (数论,最大公约数)

    a/b + c/d Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...