首页 存档 技术 查看内容

【算法吧】NO.7 回溯算法

2018-3-30 13:00 |来自: 互联网 307 0

摘要: 点击上方蓝字关注看着众多电影、书籍上的时光回溯**,有没有一点点森森的羡慕?有没有在心里默默地垂泪道: 曾经有一份真诚的爱情摆在我的面前,但是我没有珍惜。等到了失去的时候才后悔莫及,尘世间最痛苦的事莫 ...

点击上方蓝字关注


看着众多电影、书籍上的时光回溯**,有没有一点点森森的羡慕?有没有在心里默默地垂泪道:


曾经有一份真诚的爱情摆在我的面前,但是我没有珍惜。等到了失去的时候才后悔莫及,尘世间最痛苦的事莫过于此。如果上天可以给我一个机会再来一次的话,我会对你说三个字“我爱你”。如果非要把这份爱加上一个期限,我希望是一万年!


又或者:


曾经有一个头悬梁锥刺股好好学习天天向上的机会摆在我的面前,但是我没有珍惜。等到了失去的时候才后悔莫及,尘世间最痛苦的事莫过于此。如果上天可以给我一个机会再来一次的话,我会对学习说三个字“我爱你”。如果非要把这份爱加上一个期限,我希望是活到老学到老!



嗯,虽然大多数人都在感叹自己可能在过一个假人生,有一个假女朋友,上一个假学,但是时光回溯**是不会应验在你身上滴。不如来学回溯算法。


回溯算法


官方解释

回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。


好的不用多说,以上是套话。


它的基本原理就是:

回溯算法是一个固执的人,不到黄河心不死,所以只有一条路走到头了,才愿意退回去换一条路走。

比如说玩生命线,或者异次元通讯这样的文字冒险游戏。你要在交谈中为主角做出一些选择来拯救主角的生命并且发现所有的秘密,有些选择有益,有些选择无关紧要,有些选择一作主角就死了。


在玩这种游戏的时候,相信所有人都是先坚持一条路玩下去,直到主角死或者迎来一个好结局。如果死了,就跳到上一个重要的选择那里重新选择,直到再次死亡或迎来一个好结局。


你有看过人玩这种游戏的时候,同时开很多个窗口,每个窗口作的选择都不一样吗?


再比如说,迷宫。


我一般都先走到一个死路再回去想一想,选择另外一个方向再走。如此重复走到终点。


下面提供一个超级经典的题目。


八皇后


看这名字仿佛很高贵很帅气,是一个有趣的宫斗剧呢!然而并不是。


八皇后问题是十九世纪著名数学家高斯于1850年提出的。

问题是:在8*8的棋盘上摆放8个皇后,使其不能互相攻击,即任意的两个皇后不能处在同一行,同一列,或同一斜线上


好的,那就很interesting了。


相信以读者的智商,想出一种来应该是很简单的吧【然而并不】。我们今天讨论一下怎样用回溯法来做这道题。

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部