⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transpositiontable.h

📁 本程序采用全局择优的启发式搜索算法来解决人工智能中的八数码难题。
💻 H
字号:
// TranspositionTable.h: interface for the CTranspositionTable class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TRANSPOSITIONTABLE_H__AFB18C77_6D5A_4126_827B_364124A1595F__INCLUDED_)
#define AFX_TRANSPOSITIONTABLE_H__AFB18C77_6D5A_4126_827B_364124A1595F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//置换表类
class CTranspositionTable  
{
public:
	CTranspositionTable();
	virtual ~CTranspositionTable();

public:
	bool LookUpHashTable(BYTE byBoard[][3]);//查询哈希表中当前节点数据,返回0表示没有找到
	void EnterHashTable(BYTE byBoard[][3]); //将当前节点的值存入哈希表

protected:
	UINT CalHashKey(BYTE byBoard[][3]);//计算给定棋盘的哈希值
	void InitHashKey();                //初始化随机数组
	LONG Rand32();					   //产生32位的随机数

protected:
	BYTE m_byBoardList[1000][3][3];//哈希表,存放已经访问过的棋盘
	UINT m_nHashKey32[10][3][3];   //32位随机数组,用以生成32位哈希值
};

#endif // !defined(AFX_TRANSPOSITIONTABLE_H__AFB18C77_6D5A_4126_827B_364124A1595F__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -