再帰とは
アルゴリズムとしての再帰は、プログラミング言語で広く使用されており、直接または間接的に自身を呼び出すことによって引き起こされる再入可能な関数/プロセス/サブプログラムを指します。 。
再帰アルゴリズムは、通常、3 種類の問題を解決するために使用されます:
a. データの定義は再帰的に定義されます。 (Fibonacci (フィボナッチ) 関数)
b. 問題解決は再帰的アルゴリズムによって実装されます。 (トレースバック)
c. データの構造形式は再帰的に定義されます。 (ツリートラバーサル、グラフ検索)
学習ビデオチュートリアルの共有:Java 教育ビデオ
例:
これは配置の例です。 dos は、入力文字列内のすべての要素を並べ替えて
を出力します。例: 指定したパラメーターが "abc" の場合、プログラムは次のように出力します: abc acb bac bca cab cba a
アルゴリズムの終了は: low=high、つまり、現在与えられている配置要素が 1 つだけの場合です。
アルゴリズムの近似プロセス: 最初に配置の最初の要素 (ループ内の i で表される要素) を決定し、次に low+1 で配置要素を減らし始め、以下が low になるまで続きます。 =high
例は次のとおりです:
public class Foo { public static void main(String[] args) { permute(“abc”); } public static void permute(String str) { char[] strArray = str.toCharArray(); permute(strArray, 0, strArray.length – 1); } public static void permute(char[] list, int low, int high) { int i; if (low == high) { String cout = “”; for (i = 0; i <= high; i++){ cout += list[i]; System.out.println(cout); } }else { for (i = low; i <= high; i++) { char temp = list[low]; list[low] = list[i]; list[i] = temp; permute(list, low + 1, high); temp = list[low]; list[low] = list[i]; list[i] = temp; } } } }
おすすめの関連記事とチュートリアル: Java プログラミングの概要
以上がJavaの再帰とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。