Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để triển khai Fibonacci bằng cách sử dụng phương pháp tiếp cận từ dưới lên bằng C #?


Dãy Fibonacci là một tập hợp các số bắt đầu bằng một hoặc một số 0, sau đó là một số và tiến hành dựa trên quy tắc mỗi số (được gọi là số Fibonacci) bằng nhau thành tổng của hai số đứng trước. Cách tiếp cận từ dưới lên trước tiên tập trung vào việc giải quyết các vấn đề nhỏ hơn ở cấp độ cơ bản và sau đó tích hợp chúng thành một giải pháp tổng thể và hoàn chỉnh.

Độ phức tạp về thời gian - O (N)

Độ phức tạp của không gian - O (N)

Ví dụ

public class DynamicProgramming{
   public int fibonacciBottomupApproach(int n){
      int[] dpArr = new int[150];
      dpArr[1] = 1;
      for (int i = 2; i <= n; i++){
         dpArr[i] = dpArr[i - 1] + dpArr[i - 2];
      }
      return dpArr[n];
   }
}

static void Main(string[] args){
   DynamicProgramming dp = new DynamicProgramming();
   Console.WriteLine(dp.fibonacciBottomupApproach(5));
}

Đầu ra

5