C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#を使用したtopDownアプローチを使用してフィボナッチを実装するにはどうすればよいですか?


フィボナッチ数列は、1または0で始まり、その後に1が続く数のセットであり、各数(フィボナッチ数と呼ばれる)が等しいという規則に基づいて進行します。前の2つの数値の合計に。トップダウンアプローチは、大きな問題をより小さく理解しやすいチャンクに分割することに焦点を当てています。数値のサイズに等しい追加の配列メモリを作成しているため、スペースの複雑さはO(N)です。

時間計算量 − O(N)

スペースの複雑さ − 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

  1. Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?

    JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet; 以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応する

  2. Javaでスタックを使用してキューを実装するにはどうすればよいですか?

    キュー クラスはコレクションを拡張します インターフェイスであり、先入れ先出し(FIFO)を使用した挿入および削除操作をサポートします 。 スタック Vectorのサブクラスです クラスであり、後入先出(LIFO)を表します オブジェクトのスタック。スタックの一番上に追加された最後の要素(In)は、スタックから削除される最初の要素(Out)にすることができます。以下のプログラムでは、スタックを使用してキューを実装することもできます。 例 import java.util.*; public class QueueUsingStackTest {    private St