回溯算法基础---皇后问题,骑士游历,迷宫求解

回溯算法是一种试探性的穷举方法,适用于组合数较大的问题。本文介绍了回溯法的基本概念,如解空间结构、活结点、死结点等,并通过八皇后问题、骑士游历问题举例说明,阐述了如何利用约束函数和限界函数提高效率。回溯法通常采用深度优先搜索,适用于解决子集树和排列树类型的问题。
摘要由CSDN通过智能技术生成

        回溯法(又叫试探法)是属于穷举的子集,对于许多的问题,当我们需要找到某些解集或者满足某种要求的最优解的时候,回溯法往往是很朴素和简单的一种算法。从数学的角度来说,比较适合一些组合数较大的问题,比如五子棋博弈算法,最短路径(最小代价)等,使用回溯算法往往会得到正确的答案,但是回溯算法由于是采用穷举的方式,所以运行时间一般是很大的,当然可以通过各种优化手段来降低,而许多的问题--------回溯法是最合适(有可能是唯一)的解决方式。

 基本概念

      解空间:对于一个问题实例,所有有效解构成了该问题的解空间(比如八皇后问题中每落一颗棋子就会产生许 8 个可能落子的地方,这些所有可能的地方就是对于当前问题的解空间)

比如n = 3时,0-1背包问题解空间

 

约束条件:有效解的要求

限界函数:得不到最优解的结点

扩展节点:当前正在产生子结点的结点称为扩展结点

活结点:一个已经被生成的但是还没有生成自己全部子节点的结点

死结点:生成了所有子结点的结点

子集树:当所给问题是从n个元素的集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值