递归--代码模板

简介: 递归--代码模板

**一、递归  VS  循环**

递归:通过函数体来进行的循环。

汇编:它没有所谓的循环嵌套这一说,你之前有一段指令写在什么地方,你不断的跳到之前的指令的地方去执行那条指令,这就是递归。

**二,盗梦空间**

1,向下进入到不同梦境中;向上又回到原来一层。

2,通过声音同步回到上一层。

3,每一层的环境和周围的人都是一份拷贝、主角等几个人穿越不同层级的梦境(发生和携带变化)。


**三,递归套用的模板**


C/C++写法

```cpp

void recursion(int level, int param) {

 // recursion terminator

 if (level > MAX_LEVEL) { // 一、递归终结条件

   // process result

   return ;

 }


 // process current logic

 process(level, param);  // 二、处理当前层逻辑


 // drill down

 recursion(level + 1, param);// 三、下探到下一层


 // reverse the current level status if needed // 四、清理当前层

}

```

java写法

```java

// Java

public void recur(int level, int param) {

 // terminator

 if (level > MAX_LEVEL) {

   // process result

   return;

 }

 // process current logic

 process(level, param);

 // drill down

 recur( level: level + 1, newParam);

 // restore current status

```

python写法

```python

def recursion(level, param1, param2, ...):

   # recursion terminator

   if level > MAX_LEVEL:

   process_result

   return

   # process logic in current level

   process(level, data...)

   # drill down

   self.recursion(level + 1, p1, ...)

   # reverse the current level status if needed

```

JavaScript写法

```javascript

const recursion = (level, params) =>{

  // recursion terminator

  if(level > MAX_LEVEL){

    process_result

    return

  }

  // process current level

  process(level, params)

  //drill down

  recursion(level+1, params)

  //clean current level status if needed

 

}

```

**四,思维要点**

1,不要人肉进行递归(最大误区)

刚开始学,可以把状态树画出来。到后面了直接看函数本身开始写即可。


2,找到最近最简方法,将其拆解成可重复解决的问题(重复子问题)


3,数学归纳法思维。

目录
相关文章
|
存储 数据处理 开发工具
用python制作好的软件放手机里
【4月更文挑战第7天】
890 4
|
JavaScript
【node错误】/usr/bin/env: node: No such file or directory
背景 安装了node后,执行npm run xxx的命令的时候,报错,提示如下: /usr/bin/env: node: No such file or directory   步骤 1.
6985 0
|
6天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
1天前
|
数据采集 机器学习/深度学习 人工智能
田间杂草定位与检测4200张YOLO智慧农业数据集分享
本数据集含4200张真实农田图像,YOLO格式,单类别(杂草)高质量标注,覆盖多作物、多光照、多生长阶段等复杂场景,专为智慧农业杂草检测与智能除草设备研发设计,支持YOLOv5/v8/v10等主流模型训练。
326 93
|
3天前
|
缓存 UED 开发者
Codex109天重置23次,明天还要再送一次
Codex近109天完成23次额度重置,7月14日将迎来第24次。Tibo高频响应用户反馈:优化GPT-5.6高消耗问题、补发失效福利、调整重置时间——形成“反馈→回应→修复→补偿”正向闭环,彰显以用户为中心的产品哲学。(239字)
493 11
|
6天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
335 0