astar算法伪代码

32 篇文章 0 订阅

astar()
{
	//创建两个表,OPEN表保存所有已生成而未考察的节点,CLOSED表中记录已访问过的节点。 
	//算起点的估价值
	//将起点放入OPEN表
	while(OPEN!=NULL) 
	{ 
		//从OPEN表中取估价值f最小的节点n 
		if(n节点==目标节点){ 
			break; 
		} 
		for(当前节点n的每个子节点X) 
		{
			//算X的估价值 
			if(X in OPEN)
			{ 
				if(X的估价值小于OPEN表的估价值)
				{ 
					//把n设置为X的父亲 
					//更新OPEN表中的估价值//取最小路径的估价值 
				}
			}
			if(X in CLOSE)
			{ 
				if(X的估价值小于CLOSE表的估价值)
				{
					//把n设置为X的父亲 
					//更新CLOSE表中的估价值 
					//把X节点放入OPEN//取最小路径的估价值 
				} 
			}
			if(X not in both)
			{ 
				//把n设置为X的父亲
				//求X的估价值 
				//并将X插入OPEN表中//还没有排序 
			}
		}
		//将n节点插入CLOSE表中 
		//按照估价值将OPEN表中的节点排序//实际上是比较OPEN表内节点f的大小,从最小路径的节点向下进行。
	}
	//保存路径,即从终点开始,每个节点沿着父节点移动直至起点,这就是你的路径;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值