再帰アルゴリズムを使用して Java バイナリ検索を実装する方法
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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











Steam Cloudエラーは、多くの理由によって引き起こされる可能性があります。ゲームをスムーズにプレイするには、ゲームを開始する前にこのエラーを削除するためにいくつかの対策を講じる必要があります。 PHP.CNソフトウェアは、この投稿でより有用な情報と同様に、いくつかの最良の方法を紹介します。

「Windowsメタデータとインターネットサービス(WMIS)への接続が確立できなかった」が表示される場合があります。イベントビューアのエラー。 PHP.CNからのこの投稿では、Windowsメタデータとインターネットサービスの問題を削除する方法を紹介します。

KB5035942更新問題 - クラッシュシステムは一般にユーザーに発生します。 Imburitedの人々は、クラッシュするシステム、インストール、健全な問題など、一種のトラブルから抜け出す方法を見つけることを望んでいます。これらの状況をターゲットにして、この投稿はphp.cn wilが発行しました

OneDriveは、Microsoftのオンラインクラウドストレージサービスです。時には、OneDriveがクラウドに写真をアップロードできないことがわかります。同じボートに乗っている場合は、PHP.CNソフトウェアからこの投稿を読んで、今すぐ効果的なソリューションを取得してください!

Chris Titus Techには、Windowsユーティリティと呼ばれるツールがあります。これにより、Debloated Windows 11/10 ISOを簡単に作成してクリーンシステムをインストールできます。 PHP.CNは、Chris Titusツールを使用してこのことを行う方法に関する完全なガイドを提供しています。

コンピューターにPC App Storeというプログラムがあり、意図的にインストールしていない場合は、PCがマルウェアに感染する可能性があります。 PHP.CNからのこの投稿では、PC App Storeマルウェアを削除する方法を紹介します。

兄弟:2人の息子のリメイクの物語が起動していませんか?兄弟と出会う:2人の息子の物語が黒いスクリーンをリメイクしますか?ここでは、PHP.CNに関するこの投稿では、この問題に対処するのに役立つソリューションをテストしています。

MsconfigがWindowsの選択的な起動に戻っているという問題について質問されていますか?必要な場合は、通常のスタートアップに切り替える方法は?このphp.cn投稿で説明されている方法を試して、あなたに合ったものを見つけてください。
