Use underline format for the technical terms (#1213)

* Use underline format for the technical terms

* Bug fixes
This commit is contained in:
Yudong Jin
2024-04-03 03:52:17 +08:00
committed by GitHub
parent 06068927cd
commit 2b1a98fb61
42 changed files with 105 additions and 105 deletions

View File

@ -4,7 +4,7 @@
## 迭代
迭代 iteration是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段代码,直到这个条件不再满足。
<u>迭代iteration</u>是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段代码,直到这个条件不再满足。
### for 循环
@ -60,7 +60,7 @@
## 递归
递归 recursion是一种算法策略,通过函数调用自身来解决问题。它主要包含两个阶段。
<u>递归recursion</u>是一种算法策略,通过函数调用自身来解决问题。它主要包含两个阶段。
1. **递**:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到“终止条件”。
2. **归**:触发“终止条件”后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果。
@ -106,7 +106,7 @@
### 尾递归
有趣的是,**如果函数在返回前的最后一步才进行递归调用**,则该函数可以被编译器或解释器优化,使其在空间效率上与迭代相当。这种情况被称为尾递归 tail recursion
有趣的是,**如果函数在返回前的最后一步才进行递归调用**,则该函数可以被编译器或解释器优化,使其在空间效率上与迭代相当。这种情况被称为<u>尾递归tail recursion</u>
- **普通递归**:当函数返回到上一层级的函数后,需要继续执行代码,因此系统需要保存上一层调用的上下文。
- **尾递归**:递归调用是函数返回前的最后一个操作,这意味着函数返回到上一层级后,无须继续执行其他操作,因此系统无须保存上一层函数的上下文。
@ -147,7 +147,7 @@
[file]{recursion}-[class]{}-[func]{fib}
```
观察以上代码,我们在函数内递归调用了两个函数,**这意味着从一个调用产生了两个调用分支**。如下图所示,这样不断递归调用下去,最终将产生一棵层数为 $n$ 的递归树 recursion tree
观察以上代码,我们在函数内递归调用了两个函数,**这意味着从一个调用产生了两个调用分支**。如下图所示,这样不断递归调用下去,最终将产生一棵层数为 $n$ 的<u>递归树recursion tree</u>
![斐波那契数列的递归树](iteration_and_recursion.assets/recursion_tree.png)