01-复杂度

java版本数据结构第一节课----复杂度

  • 学习目标
    • 学习内容
      • 学习产出

学习目标

学习目标:了解复杂度的估算

学习内容

学习内容:复杂度的估算

学习产出

学习产出:

package com.mj;

import org.omg.CORBA.PUBLIC_MEMBER;

public class Main {
     
	
	/* 0 1 2 3 4 5 6 7
	 * 0 1 1 2 3 5 8 13
	 */
	public static int fib1(int n) {
     
		if(n<=1) return n;
		return fib1(n-1)+fib1(n-2);
	}
	public static int fib2(int n) {
     
		if(n<=1) return n;
		int first = 0;
		int second = 1;
		for(int i = 0;i<n-1;i++) {
     
			int sum = first + second;
			first = second;
			second = sum;
		}
		return second;
	}
	public static int fib3(int n) {
     
		if(n<=1) return n;
		int first = 0;
		int second = 1;
		for(int i = 0;i<n-1;i++) {
     
			second = first + second;//让second等于原来两个数之和
			first = second - first;//让(加和后second)减去(原来的first)就得到了原来的second
		}
		return second;
	}
	public static int fib4(int n) {
     
		if(n<=1) return n;
		int first = 0;
		int second = 1;
		while(n-->1) {
     //n-->0其实就是执行n次,n-->1就是执行n-1次
			second += first;//让second等于原来两个数之和
			first = second - first;//让(加和后second)减去(原来的first)就得到了原来的second
		}
		return second;
	}

	
	public static void main(String[] args) {
     
		//System.out.println(123);//快捷键syso
		//System.out.println(fib1(64));=>数大无法算出
		System.out.println(fib1(4));
		System.out.println(fib2(4));
		System.out.println(fib3(4));
		System.out.println(fib4(4));
		
	}

}

你可能感兴趣的:(数据结构-java版本)