码迷,mamicode.com
首页 > 编程语言 > 详细

递归算法实例

时间:2014-12-17 16:00:45      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:blog   ar   io   os   使用   sp   java   on   div   

原理:

  在函数或子过程的内部,直接或者间接地调用自己的算法。

举例:

  已知数组 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,递归的强大好处将更加明显。然而,递归算法逻辑稍显复杂,使用不慎,轻则影响性能,重则瘫痪程序。

递归算法实例

标签:blog   ar   io   os   使用   sp   java   on   div   

原文地址:http://www.cnblogs.com/george-wayne/p/4169398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!