回溯与深度优先算法的关系总结
一、总结
回溯的目的是什么?复原环境,保证状态不变,防止对子问题的搜索过程污染了其它问题的处理。
二、举个栗子
(1)、不确定,可能不准确,或者不全面的,需要进行回溯。
比如,全排列,第1个箱子里面放什么,肯定是放1吗?不是吧,那你给放上1了,人家2,3不会有意见吗?那还回溯清理好现场,人家2,3还咋玩?
(2)、准的,干了就是对的,有理的,就不回溯了。
比如图的遍历,P2853,需要标识出奶牛都可以走到哪些牧场,能走到就是能走到,
难不成走到了再拿下来说不能走到??
三、不想使用回溯的其它办法
要不增值就在递归的参数里面加,要不就回溯,不然会改变它的值。也许是积累已经到位,或是已经理解透彻,此后就明白了回溯与不回溯的关系。
四、写给自己的鸡汤
很多时候理解不到或是理解不透彻一个知识点也是正常的,不必灰心丧气,做题的时候认真思考,留心一点,那么题量上去了有的地方自然茅塞顿开。这也告诉我们,做题是提升能力的重要关键。当然也不是说非得刷一堆,在保证质量的前提下(把题目弄懂,不放过任何一个细节,积极讨论,甚至达到可以和同学讲懂的境界),多多刷题,积累题量,才能由量变到质变。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!