Java の再帰的アルゴリズムの時間的複雑性

ユーザー8084037

このアルゴリズムを別の投稿から取得しただけですが、このアルゴリズムの計算方法を知る必要がありtemporal complexityますか? 私は学生で、やり方がよくわかりません。

 public static void getSum(int[] numbersArray, int starting, int sum)
 {
   if(numbersArray.length == starting)
   {
     // Now we print sum here
     System.out.println(sum);
     return;
   }

   int value = sum + numbersArray[starting];

   getSum(numbersArray, starting + 1, value);
   getSum(numbersArray, starting + 1, sum);
 }
お願いします

numbersArray長さが 5 であるとします。誰かがこれをstarting= 0 で呼び出す、つまりgetSum(numbersArray, 0, 0). 今:

これはgetSum(numbersArray, 1, x)2 回呼び出します

の各呼び出しは2 回getSum(numbersArray, 1, x)呼び出しますgetSum(numbersArray, 2, x)

の各呼び出しは2 回getSum(numbersArray, 2, x)呼び出しますgetSum(numbersArray, 3, x)等々。

に到達するgetSum(numbersArray, 5, x)と、時間は一定です。baseTimeと呼びましょう

T(n) が実行時間であるとしgetSum(numbersArray, n, x)ます。T(5) はbaseTimeです。T(4) = 2*T(5); T(3) = 2*T(4); 等々。これは、呼び出し全体の時間 T(0) = 2*T(1) = 2*2*T(2) = 2*2*2*T(3) = 2*2*2*2* T(4) = 2*2*2*2*2*T(5) = 2*2*2*2*2* baseTimeこれが示すことは、アルゴリズムの時間は 2 m比例するということです。ここで、mは配列の長さです。したがって、答えは O(2 m )と書かれます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

再帰的なwebcrawlerの同時実行性-Javaのアルゴリズム

分類Dev

Javaでの再帰的アルゴリズムの最適化

分類Dev

Javaの基本的な再帰アルゴリズム

分類Dev

小数部のためのホーナーの再帰的アルゴリズム-Java

分類Dev

回文再帰アルゴリズムの時間の互換性

分類Dev

ファイル再帰アルゴリズムの時間と空間の複雑さ

分類Dev

パリンドローム再帰アルゴリズムの時間の複雑さ

分類Dev

Javaの再帰的な「中央値の検索」アルゴリズムの例外エラー

分類Dev

Javaの再帰的アルゴリズムを使用した挿入ソート(ループなし)

分類Dev

再帰的なアルゴリズムの複雑さの分析

分類Dev

JavaでBigIntegerを使用しないKaratsubaアルゴリズム、再帰中の予期しない動作

分類Dev

C#とJavaの間のDiffie-Hellmanアルゴリズム

分類Dev

複数の再帰を伴うアルゴリズムの時間計算量

分類Dev

私のアルゴリズムの時間の複雑さ

分類Dev

再帰的アルゴリズムの時間計算量の分析

分類Dev

アルゴリズムの時間の複雑さ

分類Dev

JavaのMergesortアルゴリズム

分類Dev

Javaの基数方向アルゴリズム

分類Dev

JavaでのPetersonアルゴリズム?

分類Dev

Javaのkadaneアルゴリズム

分類Dev

JavaのminiMaxアルゴリズム

分類Dev

Javaの置換アルゴリズム

分類Dev

Eclipse上のJavaアルゴリズム

分類Dev

O(n ^ m)の複雑さのための再帰的アルゴリズム。

分類Dev

区間間の交差を見つけるためのJavaアルゴリズム

分類Dev

分割統治法の再帰的アルゴリズムの複雑さ

分類Dev

ネストされたforループを使用した再帰アルゴリズムのBig-O時間の複雑さ

分類Dev

ネストされたforループを使用した再帰アルゴリズムのBig-O時間の複雑さ

分類Dev

Javaは、私の単純なテストでの再帰的なアルゴリズム速度の比較でC ++に勝っています

Related 関連記事

  1. 1

    再帰的なwebcrawlerの同時実行性-Javaのアルゴリズム

  2. 2

    Javaでの再帰的アルゴリズムの最適化

  3. 3

    Javaの基本的な再帰アルゴリズム

  4. 4

    小数部のためのホーナーの再帰的アルゴリズム-Java

  5. 5

    回文再帰アルゴリズムの時間の互換性

  6. 6

    ファイル再帰アルゴリズムの時間と空間の複雑さ

  7. 7

    パリンドローム再帰アルゴリズムの時間の複雑さ

  8. 8

    Javaの再帰的な「中央値の検索」アルゴリズムの例外エラー

  9. 9

    Javaの再帰的アルゴリズムを使用した挿入ソート(ループなし)

  10. 10

    再帰的なアルゴリズムの複雑さの分析

  11. 11

    JavaでBigIntegerを使用しないKaratsubaアルゴリズム、再帰中の予期しない動作

  12. 12

    C#とJavaの間のDiffie-Hellmanアルゴリズム

  13. 13

    複数の再帰を伴うアルゴリズムの時間計算量

  14. 14

    私のアルゴリズムの時間の複雑さ

  15. 15

    再帰的アルゴリズムの時間計算量の分析

  16. 16

    アルゴリズムの時間の複雑さ

  17. 17

    JavaのMergesortアルゴリズム

  18. 18

    Javaの基数方向アルゴリズム

  19. 19

    JavaでのPetersonアルゴリズム?

  20. 20

    Javaのkadaneアルゴリズム

  21. 21

    JavaのminiMaxアルゴリズム

  22. 22

    Javaの置換アルゴリズム

  23. 23

    Eclipse上のJavaアルゴリズム

  24. 24

    O(n ^ m)の複雑さのための再帰的アルゴリズム。

  25. 25

    区間間の交差を見つけるためのJavaアルゴリズム

  26. 26

    分割統治法の再帰的アルゴリズムの複雑さ

  27. 27

    ネストされたforループを使用した再帰アルゴリズムのBig-O時間の複雑さ

  28. 28

    ネストされたforループを使用した再帰アルゴリズムのBig-O時間の複雑さ

  29. 29

    Javaは、私の単純なテストでの再帰的なアルゴリズム速度の比較でC ++に勝っています

ホットタグ

アーカイブ