zoukankan      html  css  js  c++  java
  • 【算法设计与分析基础】3、斐波拉契数列

    package cn.xf.algorithm.ch02;
    
    import java.util.Vector;
    
    /**
     * 斐波那契数列
     * @author xiaof
     *
     */
    public class Fib {
    	
    	/**
    	 * 方式1,递归计算效率非常差双重指数级(不要问我怎么算的,我不会)
    	 * 计算方法:百度=》带常系数的齐次二阶线性递推式
    	 * @param n
    	 * @return
    	 */
    	public static Long fib1(int n)
    	{
    		if(n <= 1)
    			return (long) n;
    		else
    			return fib1(n - 1) + fib1(n - 2);
    	}
    	
    	public static Long fib2(int n)
    	{
    		Long f0 = 0l;
    		Long f1 = 1l;
    //		Long fibn = f1 + f2;
    		Long fibn = 0l;
    		for(int i = 2; i <= n; ++i)
    		{
    			fibn = f0 + f1;
    			f0 = f1;
    			f1 = fibn; 
    		}
    		
    		return fibn;
    	}
    	
    	public static Vector<Long> fib3(int n)
    	{
    		Vector<Long> fib = new Vector<Long>();
    		fib.setSize(n + 1);
    		fib.set(0, 0l);
    		fib.set(1, 1l);
    		for(int i = 2; i <= n; ++i)
    		{
    			fib.set(i, fib.get(i - 1) + fib.get(i - 2));
    		}
    		
    		return fib;
    	}
    	
    	public static void main(String[] args) {
    		System.out.println(Fib.fib1(10));
    		System.out.println("******************************");
    		System.out.println(Fib.fib2(10));
    		System.out.println("******************************");
    		Vector<Long> result = Fib.fib3(10);
    		for(Long l : result)
    		{
    			System.out.print(l + "	");
    		}
    		
    	}
    }
    

      

  • 相关阅读:
    mysql授权GRANT ALL PRIVILEGES
    MySQL修改root密码的多种方法
    javaagent
    JavaAgent 应用(spring-loaded 热部署)
    JavaAgent入门
    java运行jar命令提示没有主清单属性
    连接到 redis 服务
    PHP中的socket TCP编程
    Memcached 与 Redis 区别
    rc.local配置
  • 原文地址:https://www.cnblogs.com/cutter-point/p/6524670.html
Copyright © 2011-2022 走看看