「分割統治」という用語について聞いたことがありますか?この記事は、このアプローチに非常に具体的に基づいています。 マージソート は「分割統治」アルゴリズムであり、最初に問題をサブ問題に分割し、次にそれらをマージしてソリューションを征服します。これは、Jでのマージソートの概念の完全な概要です。 。
Javaのマージソートとは何ですか?
マージソートは人気のあるものの1つです ソートアルゴリズム 利用可能であり、分割統治アプローチに従います。問題はサブ問題に分割され、組み合わされて最終的な解決策に到達します。
さて、マージソートの作業中に正確に何が起こりますか?詳細に理解しましょう。
マージソートの作業
プロセス中にマージソートが続く2つのステップがあります。
Javaのインタプリタとは
- 除算: このステップでは、入力配列が2つに分割され、ピボットが配列の中点になります。このステップは、さらに分割するハーフアレイがなくなるまで、すべてのハーフアレイに対して再帰的に実行されます。
- 征服: このステップでは、分割された配列を下から上に並べ替えてマージし、並べ替えられた配列に到達します。
このアプローチは、問題のサブパーツを最初に簡単に並べ替えて、解決策に到達するのに役立ちます。
例:図
ここでは、マージソートがどのように見えるかを見ました。マージソートの主な概念は、ソートにかかる時間が短いということです。さて、実装部分に移りましょう!
実装
パッケージMyPackageパブリッククラスMergeSort {void merge(int arr []、int beg、int mid、int end){int l = mid --beg + 1 int r = end --mid int LeftArray [] = new int [l] int RightArray [] = new int [r] for(int i = 0 i出力:
ソートされた配列
1
4
17
22
2. 3
40
フォーファイブ
51
55
90throwとthrowsjavaの違いこれは、マージソートを表すJavaコードがどのように見えるかです。次のセグメントに進みます。
複雑
複雑さは、時間の複雑さと空間の複雑の2つのタイプに分かれています。マージソートの場合、データは次のようになります。
複雑 最良の場合
平均的なケース
最悪の場合
時間計算量
O(n log n)
O(n log n)
ansibleとchefの違いO(n log n)
スペースの複雑さ
-
-
オン)
これで、この記事を締めくくります。上記の内容がJavaの知識に付加価値をもたらすことを願っています。私たちは一緒にJavaの世界を探求し続けます。乞うご期待!
チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。
質問がありますか?この「コメントセクションでそれについて言及してください Javaでのマージソート 」ブログと私たちはできるだけ早くあなたに返信します。