ホームページ >Java >&#&はじめる >Javaの再帰とは何ですか

Javaの再帰とは何ですか

王林
王林オリジナル
2019-12-05 15:13:123148ブラウズ

Javaの再帰とは何ですか

再帰とは

アルゴリズムとしての再帰は、プログラミング言語で広く使用されており、直接または間接的に自身を呼び出すことによって引き起こされる再入可能な関数/プロセス/サブプログラムを指します。 。

再帰アルゴリズムは、通常、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。