算法分析---分治法知识点
发布时间
阅读量:
阅读量
递归
在函数的调用、返回以及递归过程中,栈这种数据结构起到了关键作用。当执行函数调用时,必须保证在逐层调用之后能够返回至最初的调用位置,为此编译器会自动构建一个堆栈结构,用于存储每一层函数调用过程中所涉及的返回值与地址信息
//青蛙跳问题 青蛙只能跳一阶或二阶 设有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)
还没有任何评论哟~
