Advertisement

算法3 回溯全专题(构造子集 全排列 组合 背包)

阅读量:

一.DFS-回溯引入

(1)递归深度

输出斐波那契数列每一次递归对应的递归深度。

f771c0c157de4b830d92e4cf3f6d0dc2.png

基于斐波那契数列的递归实现中, 为了使每次递归调用都能记录其相应的深度层次, 我们可以在每个函数体内进行一次深度计算, 并将结果传递给返回值. 这种设计使得每个递归函数仅产生一个输出结果. 此外, 我们可以通过引入额外的参数-depth来记录当前的递归层次. 这样一来, 在每次调用时, 系统会自动跟踪并更新当前的深度信息. 这种机制不仅简化了算法逻辑, 而且提高了程序的整体可读性.

复制代码
 int f(int n, int depth)

    
 {
    
     printf("%d\n", depth);
    
     if(n <= 2)
    
     return 0;
    
     else
    
     return f(n-1, depth+1)+f(n-2, depth+1);
    
 }
    
    
    
    
    AI写代码cpp

(2

全部评论 (0)

还没有任何评论哟~