JavaScript中的递归函数

再此之前呢,我们要先知道什么是递归函数?

一.什么是递归函数?

递归函数:是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,也是一种循环运算的一种算法模式。这种技术可以用来解决一些复杂的问题,比循环更简洁易懂。

递归函数是需要有边界条件的,如果没有那么它就会无限制的调用这个本身,就会出现死循环。所以必须要有一个终止处理或计算的出口,我们给它设置一个结束条件,就是为了避免出现死循环。

复制代码
function fn(){	            //一个fn的函数
	console.log(12345);		//打印的数字
	fn();					//调用的函数本身
}
fn();						//调用的函数

这就是一个死循环。

优缺点:

  • 优点:结构清晰,可读性强,为设计算法,调试程序带来方便。
  • 缺点:运算效率低,所耗费的计算时间1和占用的存储都比非递归函数要多。
相关推荐
汀、人工智能8 小时前
[特殊字符] 第25课:合并两个有序链表
数据结构·算法·链表·数据库架构··合并两个有序链表
Hello.Reader8 小时前
双卡 A100 + Ollama 生产部署从安装、踩坑、调优到最终可上线方案
linux·人工智能·算法
计算机安禾8 小时前
【数据结构与算法】第30篇:哈希表(Hash Table)
数据结构·学习·算法·哈希算法·散列表·visual studio
xiaoye-duck8 小时前
《算法题讲解指南:动态规划算法--子序列问题(附总结)》--32.最长的斐波那契子序列的长度,33.最长等差数列,34.等差数列划分II-子序列
c++·算法·动态规划
sinat_255487818 小时前
泛型:超级、扩展、列表·学习笔记
java·windows·学习·算法
切糕师学AI8 小时前
Elasticsearch RRF(倒数排序融合)技术详解与实践
算法·elasticsearch·搜索引擎·混合搜索·rrf·归一化问题
lihao lihao8 小时前
进程地址空间
数据结构·c++·算法
Byte不洛8 小时前
LeetCode双指针经典题
c++·算法·leetcode·双指针
汀、人工智能8 小时前
[特殊字符] 第16课:最小覆盖子串
数据结构·算法·数据库架构·图论·bfs·最小覆盖子串