那递归还有什么好(C++)

明知有栈开销还用递归,理由是【0】。

开始练习 →

什么样的递归最好改成循环

最容易改写成循环的是【0】。

开始练习 →

循环版算出来一样吗

运行下面这段程序: #include <algorithm> #include <iostream> #include <numeric> #include <string> #include

开始练习 →

循环版压了几层栈

运行下面这段程序,它数的是「最深压了几层」: #include <algorithm> #include <iostream> #include <numeric> #include <string

开始练习 →

把递归阶乘改成循环

补全 fact_loop:用循环算阶乘,不许递归。算 5 的阶乘。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

把递归斐波那契改成循环

补全 fib_loop:用循环算第 n 个斐波那契数。循环版没有重复计算——这正是它比朴素递归快的原因。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

结果一样栈深却差五倍

递归版已经写好。补全循环版 fact_loop(也要记下深度),程序会把三样东西用 / 拼起来输出:两个结果是否相等、递归版的最大深度、循环版的最大深度。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

每层递归占的是什么

第 1 步:这一排格子就是整个调用栈 第 2 步:一层递归压一个栈帧 第 3 步:一层递归压一个栈帧 第 4 步:一层递归压一个栈帧 第 5 步:一层递归压一个栈帧 第 6 步:还要往下:栈满了 第 7 步:程序段错误崩溃 每调用一层函数,

开始练习 →

递归一千万层会怎样

在 C++ 里让一个递归往下走一千万层,通常会【0】。

开始练习 →

怎么救一个太深的递归

一个递归深度可能到百万层,最稳妥的办法是【0】。

开始练习 →