Javaでマージソートを実行する方法は?



Javaでのマージソートに関するこの記事は、サンプルプログラムの助けを借りてマージソートを使用して要素のリストをソートする方法を理解するのに役立ちます。

「分割統治」という用語について聞いたことがありますか?この記事は、このアプローチに非常に具体的に基づいています。 マージソート は「分割統治」アルゴリズムであり、最初に問題をサブ問題に分割し、次にそれらをマージしてソリューションを征服します。これは、Jでのマージソートの概念の完全な概要です。 。

さぁ、始めよう!





Javaのマージソートとは何ですか?

マージソートは人気のあるものの1つです ソートアルゴリズム 利用可能であり、分割統治アプローチに従います。問題はサブ問題に分割され、組み合わされて最終的な解決策に到達します。

さて、マージソートの作業中に正確に何が起こりますか?詳細に理解しましょう。



マージソートの作業

プロセス中にマージソートが続く2つのステップがあります。

Javaのインタプリタとは
  • 除算: このステップでは、入力配列が2つに分割され、ピボットが配列の中点になります。このステップは、さらに分割するハーフアレイがなくなるまで、すべてのハーフアレイに対して再帰的に実行されます。
  • 征服: このステップでは、分割された配列を下から上に並べ替えてマージし、並べ替えられた配列に到達します。

このアプローチは、問題のサブパーツを最初に簡単に並べ替えて、解決策に到達するのに役立ちます。

マージソートの図解を示しましょう。



例:図

マージソート-Edureka

ここでは、マージソートがどのように見えるかを見ました。マージソートの主な概念は、ソートにかかる時間が短いということです。さて、実装部分に移りましょう!

実装

パッケージ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
90

throwと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でのマージソート 」ブログと私たちはできるだけ早くあなたに返信します。