
数据结构与算法
在鬼混
一起努力共同进步
展开
-
java递归算法
递归 函数在运行过程中自己调用自己本身称为递归!递归的优点 简化问题,使问题清晰明了,在使用递归时一定要注意两点,第一数据不能太发散,第二层次不鞥太深,数据一旦太发散 层次太深在运行过程中非常消耗内存。故当出现以上两种情况是建议使用循环解决问题。斐波那契数列 0、1、1、2、3、5、8、13、21、34 ........在数学上,斐波纳契数列以如下被以递归的方法定义:原创 2015-11-15 19:42:41 · 465 阅读 · 0 评论 -
递归的性能分析与经典运用
1.递归慢的原因?大家都知道递归的实现是通过调用函数本身,函数调用的时候,每次调用时要做地址保存,参数传递等,这是通过一个递归工作栈实现的。具体是每次调用函数本身要保存的内容包括:局部变量、形参、调用函数地址、返回值。那么,如果递归调用N次,就要分配N*局部变量、N*形参、N*调用函数地址、N*返回值。这势必是影响效率的。 2.用循环与递归之间算法区别?递归与循环是两种不同的解决问原创 2015-11-15 20:54:03 · 2294 阅读 · 0 评论 -
排序算法之冒泡(下沉)排序(js和java版)
冒泡排序(下沉) 图解js代码如下/** * 冒泡(下沉)排序 */function charuDemo() { var arr = new Array(3, 6, 4, 2, 11, 10, 5); for (var i = 1; i for (var j = 0; j if (arr[j原创 2015-11-18 22:08:14 · 1202 阅读 · 0 评论