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 + "	");
    		}
    		
    	}
    }
    

      

  • 相关阅读:
    Linux下安装mysql5.7
    springcloud alibaba-sentinel流控规则简介
    springcloud alibaba-sentinel初始化
    springcloud alibaba-sentinel下载安装和运行
    Python内置函数
    Python生成器
    Python解析式
    Python模块-----日期模块
    Python内置数据结构----字典
    Linux配置免密登录
  • 原文地址:https://www.cnblogs.com/cutter-point/p/6524670.html
Copyright © 2011-2022 走看看