递推与递归笔记
分析递归用递归搜索树,有结果才会返回,树高与空间占有率有关,最多25层数
递归/dfs最重要的是顺序,不重不漏,1-n依次考虑每个数选或不选,保证深度优先(直往一条钻),选接下来的位置
注意顺序,回溯时候再写别的,先只针对一个过程,出了结果,任务完成才会回溯,注意回溯到上阶,不能用同层状态互推,先回到上阶,并把状态弄成不确定(分支是平级的,如何回到上阶状态),再推下一个状态
最后回到初始,返回整体
如何记录选和不选的状态,长度为n的数组记录每个数选还是不选
恢复现场,把当前位置改成0;
字典序,一个字符一个字符比较,看哪个ASCII大,只要一个大就停止比较,不管后面.
全排列:dfs最重要的是顺序,1.依次枚举每个位置应该放哪个数2.依次枚举每个数放哪个位置
深度优先代码只要想第一条路即刻
组合 dfs考虑顺序
dfs常用操作:减枝--减少递归次数
减枝,条件,下一个数不够了.继续向下,深度优先
(x-1)是当前位置前面的元素,n-start+1是剩余个数,加起来少于选择的数,减去
大水灌溉模型,泼水,找联通块
遍历所有点,找w后泼水,记录w的状态,一个连通块只用泼水一次
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】