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

    一、总结

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

    二、举个栗子

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

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

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

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

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

    四、写给自己的鸡汤

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

  • 相关阅读:
    关于头文件
    函数重载和函数模板
    引用和内联函数
    OpenCV中图像处理
    MFC中关于子进程创建和关闭操作
    MFC中的CListControl控件
    MFC中Picture控件显示图像
    MFC CString 和int相互转化
    MFC下拉框
    MFC中关于CListBox控件添加水平滚动条
  • 原文地址:https://www.cnblogs.com/littlehb/p/15137455.html
Copyright © 2011-2022 走看看