首页 > 代码库 > 递归算法实例
递归算法实例
原理:
在函数或子过程的内部,直接或者间接地调用自己的算法。
举例:
已知数组 a=[1,[2,[3,[4,‘null‘]]]], 算法实现数组 b=[4,[3,[2,[1,‘null‘]]]],代码如下:
var tmp = [], a = [1,[2,[3,[4,"null"]]]];function loop(arr){ tmp=tmp.length?[tmp]:[‘null‘]; tmp.unshift(arr[0]); if(Object.prototype.toString.apply(arr[1]) === ‘[object Array]‘){ loop(arr[1]); } return tmp; } loop(a);
这就是一个典型的递归算法,若将上述嵌套层数增加至N,递归的强大好处将更加明显。然而,递归算法逻辑稍显复杂,使用不慎,轻则影响性能,重则瘫痪程序。
递归算法实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。