当前位置: 首页 > news >正文

【递归、搜索与回溯】-- 基本介绍

1. 递归

1. 什么是递归?
函数自己调用自己。
2. 为什么会用到递归
本质:在解决主问题时----需要解决相同的子问题----在解决子问题时------需要解决相同的子问题…

3. 如何理解递归

  1. 递归展开的细节图
  2. 二叉树种的题目
  3. 宏观看待递归的过程
  1. 不要在意递归的细节展开图
  2. 把递归的函数当成一个黑盒
  3. 相信这个黑盒一定能完成这个任务

4. 如何写好一个递归?

  1. 先找到相同的子问题!!!!----> 函数头的设计
  2. 只关心某一个子问题是如何解决的---->函数体的书写
  3. 注意一下递归的出口,避免写成死循环

2. 搜索vs深度优先遍历vs深度优先搜索vs宽度优先遍历vs宽度优先搜索vs暴搜

1. 对比
深度优先遍历 == 深度优先搜索(dfs)

在这里插入图片描述
宽度优先遍历 == 宽度优先搜索(bfs)
在这里插入图片描述
遍历是形式,目的是搜索

2. 关系图
暴力枚举一遍所以的情况。

3. 拓展搜索问题
全排列:1,2,3
在这里插入图片描述

3. 回溯与剪枝

本质:深搜
在这里插入图片描述

相关文章:

  • DeepSeek V3-0324升级:开启人机共创新纪元
  • 【含文档+PPT+源码】基于Python校园跑腿管理系统设计与实现
  • Linux cat命令
  • 【从零实现Json-Rpc框架】- 项目实现 - 项目消息类型字段信息定义篇
  • 我的世界1.20.1forge模组开发进阶教程——序列化(1)
  • 蓝桥杯嵌入式十六届模拟三
  • gradle eclipse
  • ROS--IMU数据包
  • 【计算机操作系统】第二章、进程的描述与控制
  • 深入理解K8s与Docker的关系:容器化技术的双雄
  • 内存检查之Valgrind工具
  • 使用vue cli 5.0 在vscode中运行vue命令报错
  • GBase 8s的TRANSLATE() 函数使用说明
  • 端游熊猫脚本游戏精灵助手2025游戏办公脚本工具!游戏脚本软件免费使用
  • MyBatis中mapper.xml 的sql映射规则
  • Linux系统初始化脚本
  • FastAPI 全面指南:功能解析与应用场景实践
  • 基于RK3588平台的OpenCV 4.11快速部署与使用指南
  • Linux 控制台【Console】类型分类
  • AWS Lambda 深度解析:构建高效无服务器应用的实战指南
  • 全国林业院校校长论坛举行,聚焦林业教育的创新与突破
  • 一条铺过11年时光的科学红毯,丈量上海科创的“长宽高”
  • 长三角体育节回归“上海时间”,首次发布赛事旅游推荐线路
  • 中国情怀:时代记录与家国镜相|澎湃·镜相第三届非虚构写作大赛征稿启事
  • 艺术稀缺性和价值坚守如何构筑品牌差异化壁垒?从“心邸”看CINDY CHAO的破局之道
  • 浙江省台州市政协原副主席林虹被“双开”