前言
概念介绍
栈的基本概念和原理我们已在“文章链接”中做过具体说明,下面我们主要讲讲递归算法
原理讲解
讲解递归的原理那我们首先要搞明白递归和栈的关系。我们以如下代码为例:
int Factorial(int n) { if (0 == n) { return 1; } int value = n * Factorial(n-1); qDebug() << "n:" << n << " value:" << value; return value; } Factorial(5);
递归过程分为两步“递”和“归”,对应着栈的两种操作“进栈”和“出栈”。
至此Factorial(5)递归结束
递归的优缺点
递归的应用场景
更多算法学习请关注我的公众号
说明