数据结构-五大基本算法-回溯算法

本文介绍了回溯法的基本特点,它采用深度优先策略解决复杂问题。通过四皇后问题的实例,阐述了如何在n行n列的棋盘上放置n个皇后,确保它们互不攻击。当某条路径无法满足条件时,算法会回溯到上一步尝试其他可能性。以四皇后为例,展示了回溯法在解决这类问题时的256种可能解。

回溯法:

特点:

1.该算法使用的是 深度优先策略从根节点触发搜索解空间树

2.每一条求解逻辑如果走不通的时候就会返回至上一个逻辑判断

我们用四皇后问题 解释一遍逻辑:

例如:N皇后问题要求在一个n行n列的棋盘上放置n个皇后,使得皇后彼此之间不受攻击,按照国际象棋的规则,一个皇后可以攻击与之处于同一行或同一列或同一条斜线上的其他任何棋子。 因此,n皇后问题等价于要求在一个n*n格的棋盘上放置n个皇后,使得任意两个皇后不在同一行、列、对角线上。

四皇后图例:

根据图我们会发现:每一个皇后,都会从 第一行从上至下的往下走,并且判断 任意两个皇后不在同一行、列、对角线上。第三个皇后走到最后一行时无解,则回溯,移动第二个皇后,继续从上往下走仍然无解时,回溯到 第一个皇后,以此内推... 可以算出一共有256种可能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值