Was ist Zusammenführungssortierung?
Die Zusammenführungssortierung verwendet Rekursions- und Divide-and-Conquer-Techniken, um die Datensequenz in immer kleinere halbe Untertabellen zu unterteilen, dann die halben Untertabellen zu sortieren und schließlich rekursive Methoden zum Sortieren der sortierten halben Untertabellen zu verwenden -Tabellen verschmelzen zu immer größeren geordneten Sequenzen.
Kernidee
Zwei geordnete Sequenzen zu einer großen geordneten Sequenz zusammenführen. Durch Rekursion werden Ebenen zusammengeführt, was als Zusammenführen bezeichnet wird.
(Empfohlenes Tutorial: Java-Schnellstart)
Implementierungscode:
import java.util.Arrays; /** * @author god-jiang * @date 2020/1/13 */ //归并排序,时间复杂度为O(N*logN),空间复杂度为O(N) public class MergeSort { public static void MergeSort(int[] arr, int start, int end) { //分治的结束条件 if (start >= end) { return; } //保证不溢出取start和end的中位数 int mid = start + ((end - start) >> 1); //递归排序并且合并 MergeSort(arr, start, mid); MergeSort(arr, mid + 1, end); Merge(arr, start, mid, end); } //合并 public static void Merge(int[] arr, int start, int mid, int end) { int[] temp = new int[end - start + 1]; int p1 = start; int p2 = mid + 1; int p = 0; while (p1 <= mid && p2 <= end) { if (arr[p1] > arr[p2]) { temp[p++] = arr[p2++]; } else { temp[p++] = arr[p1++]; } } while (p1 <= mid) { temp[p++] = arr[p1++]; } while (p2 <= end) { temp[p++] = arr[p2++]; } for (int i = 0; i < temp.length; i++) { arr[i + start] = temp[i]; } } public static void main(String[] args) { int[] a = {2, 4, 6, 1, 3, 7, 9, 8, 5}; MergeSort(a, 0, a.length - 1); System.out.println(Arrays.toString(a)); } }
Laufendes Ergebnis:
Empfohlene verwandte Video-Tutorials: Java-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Zusammenführungssortierung mit Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver CS6
Visuelle Webentwicklungstools

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools