Advertisement

算法分析---分治法知识点

阅读量:

递归
在函数的调用、返回以及递归过程中,栈这种数据结构起到了关键作用。当执行函数调用时,必须保证在逐层调用之后能够返回至最初的调用位置,为此编译器会自动构建一个堆栈结构,用于存储每一层函数调用过程中所涉及的返回值与地址信息

复制代码
    //青蛙跳问题 青蛙只能跳一阶或二阶 设有n解台阶
    //问有多少种跳法?
    //分析:如果跳到了n级台阶只能从n-1跳2步上去或从n-2级跳1步上去
    int Jump(int n)
    {
    if(n<1) return 0;
    if(n==1) return 1;
    if(n==2) return 2;
    return Jump(n-1)+Jump(n-2);
    //时间复杂度估计为O(2^n)
    //根据递归树进行计算
    }
    
    

尾递归法是指,在函数内部的递归调用若位于整个函数体的最后执行位置,并且该递归调用的返回值不参与任何表达式的运算,则这种递归形式被称为尾递归。其显著特征在于,当函数执行回归操作时,无需进行额

全部评论 (0)

还没有任何评论哟~