zoukankan      html  css  js  c++  java
  • 回溯与深度优先算法的关系总结

    一、总结

    回溯的目的是什么?复原环境,保证状态不变,防止对子问题的搜索过程污染了其它问题的处理。

    二、举个栗子

    (1)、不确定,可能不准确,或者不全面的,需要进行回溯。
    比如,全排列,第1个箱子里面放什么,肯定是放1吗?不是吧,那你给放上1了,人家2,3不会有意见吗?那还回溯清理好现场,人家2,3还咋玩?

    (2)、准的,干了就是对的,有理的,就不回溯了。
    比如图的遍历,P2853,需要标识出奶牛都可以走到哪些牧场,能走到就是能走到,

    难不成走到了再拿下来说不能走到??

    三、不想使用回溯的其它办法

    要不增值就在递归的参数里面加,要不就回溯,不然会改变它的值。也许是积累已经到位,或是已经理解透彻,此后就明白了回溯与不回溯的关系。

    四、写给自己的鸡汤

    很多时候理解不到或是理解不透彻一个知识点也是正常的,不必灰心丧气,做题的时候认真思考,留心一点,那么题量上去了有的地方自然茅塞顿开。这也告诉我们,做题是提升能力的重要关键。当然也不是说非得刷一堆,在保证质量的前提下(把题目弄懂,不放过任何一个细节,积极讨论,甚至达到可以和同学讲懂的境界),多多刷题,积累题量,才能由量变到质变。

  • 相关阅读:
    「NOI2017」蔬菜 解题报告
    线性代数
    idea创建maven的web工程
    logback和slf4j的使用之logger使用
    英雄之言 罗隐
    论英雄
    英雄--偶得佳文不知出处
    日志
    延迟加载线程安全的单例--最佳方式,通过内部类
    linux下安装jdk8
  • 原文地址:https://www.cnblogs.com/littlehb/p/15137455.html
Copyright © 2011-2022 走看看