Java で二分探索の再帰アルゴリズムを実装する方法
パブリック クラス バイナリ再帰検索 {
public static void main(String[] args) は、Java プログラムのエントリ ポイントであり、プログラム実行の開始位置です。この方法では、プログラムの主要なロジックと機能を記述することができます。このメソッドは、Java 仮想マシンによって呼び出されて実行される前に、特定の形式で定義されている必要があります。 main メソッドのパラメーター リストの args は、コマンド ライン パラメーターを受け取るために使用できる文字列配列です。 mainメソッドにコードを記述することで、出力、計算、ループ、条件判定などの様々な機能を実装することができます。 {
//配列を定義します。二分探索配列は順序付き配列でなければならないことに注意してください。
int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 }; は、9 つの要素を含む整数配列の宣言および初期化ステートメントです。各要素の値は 1、3、5、7、9、11、13、15、17 です。このようにして、arr という名前の整数配列を作成し、それに初期値を割り当てます。後続のプログラムでは、この配列を使用して、検索、並べ替え、カウントなどのさまざまな操作を実行できます
//検索後の戻り値を受け入れます: インデックス値、そうでない場合は -1;
//テスト検索要素: 9
int a = binarySearch(arr, 9, 0, arr.length - 1);
System.out.println("検索されている番号のインデックス位置は次のとおりです: " a);
}
//パラメータ リストは、検索する配列、検索する番号、先頭のインデックス、末尾のインデックスです。
public static int binary(int[] arr, int key, int start, int end) // 再帰
{
//アクセスするたびに中間インデックス値を作成します。
int mid = (スターエンド) / 2;
検索対象の番号が開始インデックスより小さいか、終了インデックスより大きい場合、または開始インデックスが終了インデックスより大きい場合、その番号は存在しないことを意味し、-1 が返されます。
if (キー arr[終了] || 開始 > 終了) {
-1 を返す;
}
//中央の値が検索対象の数値より小さい場合は、ヘッダー インデックスを再定義して中央の 1 の位置に移動し、数値の半分を除外できるようにします。
if (arr[mid]
//再帰を開始します!
return binary(arr, key, mid 1, end); // 配列の後半で二分探索を続行します
//それ以外の場合、中央の値が検索対象の数値より大きい場合は、末尾のインデックスを中央の位置 -1 に戻して、数値の半分を除外できるようにします。
} else if (arr[mid] > key) {
//再帰を開始します!
return binary(arr, key, start, mid - 1);
###} それ以外 {###//そうでない場合は、見つかってインデックスに戻ります。
途中で戻る;
}
}
}
マスター プログラミング JAVA 言語は再帰アルゴリズムと 1 2 3 4 100 または 11 13 15 を使用します
最初の質問:
パブリック クラス CalSum {
public static void main(String[] args) は、Java プログラムのエントリ ポイントであり、プログラム実行の開始位置です。この方法では、プログラムの主要なロジックと機能を記述することができます。このメソッドは、Java 仮想マシンによって呼び出されて実行される前に、特定の形式で定義されている必要があります。 main メソッドのパラメーター リストの args は、コマンド ライン パラメーターを受け取るために使用できる文字列配列です。 main メソッドにコードを記述することで、出力、計算、ループ、条件判定などのさまざまな機能を実装できます。
{CalSum calSum = new CalSum();
int result = calSum.calculate(100); // calSum オブジェクトの Calculate メソッドを呼び出し、パラメータ 100 を渡し、結果を result 変数に代入します。
System.out.println("1 2 3 ... 100 の合計は次と等しい" 結果);
}
パブリック int 計算(int 数値)
{
int 結果 = 0;
if(数値 == 1)
{
結果 = 1;
}
###それ以外###
{result = number Calculate(number - 1); 結果は、現在の数値と戻り値の数値 1 を加算することになります。この式は再帰的に計算できます。再帰呼び出しが行われるたびに、number の値は 1 ずつ減らされ、number が 1 に等しくなるまで再帰が停止されます。再帰呼び出しの戻り値は、最終結果に継続的に蓄積されます。このようにして、シーケンスの合計を取得できます。
}
結果を返す;
}
}
Java の再帰と反復のアルゴリズムとは何ですか
反復は通常のループです。
例: 1 から 10 まで加算します
int sum=0
for(int i=0;i sum=合計 i;
}
再帰とは、関数がそれ自体を直接的または間接的に呼び出すことを意味します。
例: 昔々、お寺に大きな僧侶と小さな僧侶がいました。大きな僧侶は小さな僧侶に話をするように頼みました。小さな僧侶は、昔々、大きな僧侶がいましたと言いました。お寺の小さな僧侶がいます。小さな僧侶は大きな僧侶に話をしてほしいと頼みました。物語の中で、大きな僧侶は続けて、「むかしむかし、お寺に大きな僧侶と小さな僧侶がいました。彼らは修行をしました」と言いました。そして毎日一緒に仏教を学びました。
再帰の特徴:
3 つの条件が必要です:
1. 間接的または直接的に自分自身を呼び出します。
2. ゲームをプレイする際には、大僧侶の口が乾いたら話を聞かなくなるなど、ゲームを終了するための条件を必ず設定してください。終了条件が設定されていない場合、ゲームが無限ループに陥る可能性があります。
###3。論理本体 (やりたいこと) が必要です;
パブリック int sum(int x){
if(x
x を返す;
}
return x sum(x-1);
}
int s=10;
int total=sum(s);
この例では、sum 関数は常にそれ自体を呼び出し、return x sum(x-1);
sum には終了条件があります。x
最終結果は 10 9 8 7 ... 1
を返します。多くの場合、反復と再帰の両方で同じ機能を実現できますが、反復では完了できない機能もあります。さらに、再帰コードはより簡潔であり、再帰を上手に使用するとコードの品質を向上させることができます。
以上が再帰アルゴリズムを使用して Java バイナリ検索を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Outlook 365で添付ファイルをダウンロードまたは送信するのに苦労していますか?時々、Outlookは何らかの未知の理由でそれらを表示しないため、それらを見ることができません。 PHP.CN Webサイトのこの投稿では、表示されていない添付ファイルの使用ヒントをいくつか収集します。

V Rising Playerが近くにいる、またはすでにいっぱいのサーバーに参加しようとすると、「V Rising Connection Timed」問題に遭遇する可能性があります。あなたがそれらの1つである場合、あなたはソリューションを取得するためにPHP.CNからこの投稿を参照することができます。今、あなたの読書を続けてください。

Windowsは、Windowsセキュリティを介してリアルタイム保護を供給します。しかし、この機能は、危険だと思う何かをすることを妨げる可能性があります。この状況では、一時的にリアルタイム保護をオンにすることをお勧めします。このPHP.CNの投稿では、その方法が表示されます

Microsoftは、来年のWindows Updatesの非常に早い段階で作業を開始しました。最近の噂では、2024年の次のアップデートはWindows 12ではなくWindows 11 24H2である可能性があると述べています。現在、すべてが不確かです。 php.cnは、関連するインフォールを見るためにあなたを連れて行きます

エラー0x80030001は、多くの場合、ファイルをコピーしようとしているときに発生します。エラーコードには、「要求された操作を実行できない」というメッセージが添付されます。このエラーに苦労している場合は、この記事をphp.cn wで読むことができます

2024年2月13日、Microsoftは、Windows 11 22H2およびWindows 11 23H2用にKB5034765(OSが22621.3155および22631.3155を構築する)をリリースしました。このセキュリティアップデートは、多くの新しい改善とバグ修正をもたらします。 Windows1をダウンロードしてインストールする方法を学ぶことができます

いくつかのコンピューターの問題を修正する必要がある場合、デバイスマネージャーは広く使用されています。問題のあるデバイスを確認し、デバイスドライバーをアンインストールまたは更新することを決定できます。また、デバイスマネージャーに電力管理設定を設定することもできます。ただし、f

バックアップと復元(Windowsバックアップ)が機能しない場合、デフォルトにリセットすることを選択できます。 Windows 11/10でWindowsバックアップをデフォルトに復元する方法は? php.cnは、このことを2つの方法で簡単に実行するように導き、それらを見に行きましょう。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
