diff --git a/docs/notes/02_c-leap/05_xdx/index.md b/docs/notes/02_c-leap/05_xdx/index.md index d610db7..dfa5585 100644 --- a/docs/notes/02_c-leap/05_xdx/index.md +++ b/docs/notes/02_c-leap/05_xdx/index.md @@ -772,14 +772,14 @@ int main() { > [!CAUTION] > -> * ① 递归体(体现`递`的过程): +> * ① `递归体`(体现`递`的过程): > * 函数内部递归调用自身的部分。 > * 递归体式递归思维的核心:它表示如何将一个大规模的问题`递推`为较小的、相似的子问题。这一分解过程持续的缩小问题的规模,以便更加方便和容易的处理问题。 -> * ② 递归的出口(体现`归`的过程): +> * ② `递归的出口`(体现`归`的过程): > * 当子问题已经足够小或者满足某种条件的时候,我们就不再继续分解,而是开始返回答案。其中,这些条件或某种条件就是递归的出口。 > * 明确的递归出口是至关重要的。如果没有明确的出口,递归将可能无限进行(类似于死循环),直到耗尽资源并导致栈溢出。通过递归的出口,我们实现从`递`到`归`的转换,并开始逐步合并或组合子问题的答案。 > -> * ③ 递归的深度: +> * ③ `递归的深度`: > * 每次递归调用都会加深调用的层次,这可以被看作是递归中`递`的深度。 > * 控制递归深度是至关重要的。因为一个过深的递归不仅会增加计算的复杂性,还可能会导致栈溢出。合理的深度能够确保我们在`递`的过程中不会过分深入,同时在`归`的过程中能够有效的返回和组合答案。 @@ -829,13 +829,13 @@ int main() { * @param n * @return 和 */ -int sum(int n) { +int sum(int n) { // n 就是递归的深度 // 当 n == 1 的时候,返回 1 - if (n == 1) { + if (n == 1) { // 递归出口 return 1; } // 递归情况:将 n 和 n - 1 的和相加 - return n + sum(n - 1); + return n + sum(n - 1); // 递归体 } int main() {