फाइबोनैचि अनुक्रम संख्याओं का एक समूह है जो एक या शून्य से शुरू होता है, उसके बाद एक होता है, और इस नियम के आधार पर आगे बढ़ता है कि प्रत्येक संख्या (जिसे फाइबोनैचि संख्या कहा जाता है) बराबर होती है पिछली दो संख्याओं के योग के लिए। टॉप-डाउन दृष्टिकोण एक बड़ी समस्या को छोटे और समझने योग्य भागों में तोड़ने पर केंद्रित है। अंतरिक्ष जटिलता O(N) है क्योंकि हम एक अतिरिक्त सरणी मेमोरी बना रहे हैं जो संख्या के आकार के बराबर है।
समय की जटिलता - ओ(एन)
अंतरिक्ष जटिलता - ओ(एन)
उदाहरण
public class DynamicProgramming{ public int fibonacciTopdownApproach(int n,int[] dpArr ){ if(n==0 || n == 1){ return n; } if(dpArr[n] != 0){ return dpArr[n]; } int res = fibonacciTopdownApproach(n - 1,dpArr) + fibonacciTopdownApproach(n - 2,dpArr); return dpArr[n] = res ; } } static void Main(string[] args){ DynamicProgramming dp = new DynamicProgramming(); int[] dpArr = new int[150]; Console.WriteLine(dp.fibonacciTopdownApproach(12, dpArr)); }
आउटपुट
144