js-递归
递归算法的执行过程是不断地自调用,直到到达递归出口才结束自调用过程;到达递归出口后,递归算法开始按最后调用的过程最先返回的次序返回;返回到最外层的调用语句时递归算法执行过程结束。
递归时间复杂度为O(n^2) ,用递归解决问题时,时间效率低,空间开销大,不适合很大规模的问题的求解
求和
function sum(n) {if(n === 1) return 1return sum(n - 1) + n
}
斐波那契数列
function fib(n) {if(n === 1 || n === 2) return 1return fib(n - 2) + fn(n - 1)
}
递归组件
深克隆
function cloneDeep(obj) {var objClone = Array.isArray(obj) ? [] : {};if (obj && typeof obj === "object") {for (key in obj) {if (obj.hasOwnProperty(key)) {if (obj[key] && typeof obj[key] === "object"){objClone[key] = cloneDeep(obj[key]);} else {objClone[key] = obj[key];}}}}return objClone;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
