资源简介
使用java语言写的八数码问题,仅供参考。其中用到了启发式搜索算法
代码片段和文件信息
package com.ai.eightPuzzle;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.linkedList;
import java.util.List;
import java.util.Queue;
import java.util.Scanner;
/**
* 八数码问题求解
*
* @author kaiser
*
*/
public class EightPuzzle {
/**
* 启发式搜索,选择最优希望的节点加以扩展估价函数为f(n)=d(n)+W(n) ;d(n)为搜索树中节点n的深度;W(n)为位置错误的个数
*
* @param node1
* 初始状态节点
* @param node2
* 目标状态节点
*/
public void heuristicSearch(int[] node1 int[] node2) {
List open = new ArrayList();// 存放待扩展的结点
List close = new ArrayList();// 存放已经访问扩展过的结点
int d = 0; // 节点n的深度
int w = 0; // 错放位置数
int f = 0;
int swap;
int index = 0;// 自加标记
for (int i = 0; i < node1.length; i++) {
if (node1[i] != node2[i
相关资源
- java快捷键工具箱(快速打开本地应用
- java 飞机大战(面向对象源码)
- java 跑马程序
- 飞机大战小游戏源码(java Swing)
- java入门137:清理指定目录下的.tmp文件
- java删除文件夹中所有文件
- java重命名RAR压缩包中文件
- java显示指定类型的文件(按文件后缀
- java控制台(命令行)输入交互
- java 自定义表头(列头增加icon图标)
- Java入门-控件的排布(2).zip
- Java入门-显示多种字体(8).zip
- Java入门-使用表格显示查询结果(77)
- Java入门-取得目录文件信息(50).zi
- Java入门-zip压缩包查看程序(56).zi
- Java入门-阴影文字(26).zip
- Java入门-彩色列表框(4).zip
- Java入门-程序启动界面(20).zip
- Java入门-常用图形的绘制与填充(47)
- Java入门-从压缩包中提取文件(55)
- Java入门-滑杆演示(19).zip
- Java入门-图片倒影(34).zip
- Java入门-3D文字(27).zip
- Java入门-移动的遮照效果(45).zip
- Java入门-自定义光标(23).zip
- Java入门-图片火焰效果(32).zip
- Java入门-简单的文本编辑器(12).zi
- Java入门-产生自己的控件(1).zip
- Java入门-圆形的按钮(5).zip
- Java入门-不规则图形的绘制(48).zi
评论
共有 条评论