摘要:        
 * 消除递归:  
 * 一个算法作为一个递归的方法通常从概念上很容易理解,但实际使用中递归的效率不高,在这种  
 * 情况下,把递归算法转换成非递归的算法是非常有用的,这种转换经常用到栈。  
 *   
 * 递归和栈:  
 * 递归和栈之间有着紧密的联系,大部分的编译器使用栈实现递归的。  
 *   
 * 调用方法的时候发生什么:  
 * 1. 编译器会把这个方法所有当前参数及返回地址压入栈中;  
 * 2. 将控制权交给这个方法,方法通过获得栈顶元素值访问参数;  
 * 3. 方法运行结束的时候,值退栈,参数消失且控制权重新回到返回地址;     阅读全文
        
            posted @ 2009-01-24 21:31
小白熊
阅读(194)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
 * 概念介绍:  
 *   
 * 归并排序:归并算法的中心是归并两个已经有序的数组,并且递归调用归并操作。  
 *   
 * 归并排序优点和缺点:比简单排序在速度上快很多;归并排序会占用双倍的存储空间。  
 *   
 * 归并排序的效率:归并排序的时间复杂度是 O(N*LogN);简单排序的复杂度是O(N2)。  
    阅读全文
        
            posted @ 2009-01-24 21:30
小白熊
阅读(214)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
 递归的效率:调用一个方法会有一定的代价和开销。首先,控制必须须从当前位置转移到调用  
 *            方法的开始处。其次,传给这个方法的参数以及这个方法返回地址都要初压到一  
 *            个栈里,为的是方法能够访问参数以及知道返回值在存储在哪里,这个过程也称  
 *            "保存现场"。递归方法的使用的本质是从概念上简化了问题,而不是因为它更有  
 *            效率。当使用递归的效率很低的时候,就可以考虑如果把递归转化成非递归。  
    阅读全文
        
            posted @ 2009-01-24 21:26
小白熊
阅读(237)
评论(0)
推荐(0)
        
        
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号