数据结构------栈和递归

递归的定义:

1.若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的;

2.若一个过程直接或间接地调用自己,则称这个过程是递归的过程。

例如:递归求n的阶乘

int Fact(int n)
{
if(n==0)
return 0;
else
return n*Fact(n-1);
}

具有递归特性的数据结构与可递归求解的问题

数据结构------栈和递归_第1张图片数据结构------栈和递归_第2张图片

递归问题------用分治法来求解

数据结构------栈和递归_第3张图片

数据结构------栈和递归_第4张图片

递归的优缺点:

优点:结构清晰,程序易读

缺点:每次调用都要生成工作记录,保存状态信息,入栈;返回时要出栈,恢复状态信息,时间开销大。

你可能感兴趣的:(b站数据结构,数据结构)