Counting Sort ist ein Algorithmus, der in jeder Programmiersprache und auch in Java eine zentrale Rolle spielt. Das Hauptziel des Zählsortieralgorithmus besteht darin, die Objektsammlung nach Schlüsseln zu sortieren, die als kleine ganze Zahlen zum Sortieren der Algorithmen vorliegen. Es betreibt und zählt hauptsächlich das Schlüssel-Wert-Paar und stellt die Positionierung von Elementen gemäß der Ausgabesequenz dar. Die Laufzeit dieser Sortierung ist in Bezug auf die Elemente linear, und dann liegt die Differenz zwischen den Schlüsselwerten zwischen Maximum und Minimum.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax
Es gibt keine spezifische Syntax für die Durchführung der Zählsortierung in Java, aber es gibt einen logischen Ablauf, der in Form eines Algorithmus Schritt für Schritt angewendet wird, um die Zählsortierung gemäß der Eingabe durchzuführen und wie folgt dargestellt wird:
Class name {
Method name following sorting ()
{
# Find the length of array defined;
#the output character array will have sorted array
#Create a count arr to store count of each element, characters and initialize it 0
#Store count of each character element in the array
#Build output character and write the logic to make it operated in reverse order
#that builds output can now be copied from the previous array to the current
#Make use of the driver code to move and proceed.
}
Nach dem Login kopieren
Wie funktioniert die Zählsortierung in Java?
- Wie bereits erwähnt, spielt der Counting-Sortier-Algorithmus eine wichtige Rolle bei der Programmierung; Es funktioniert bei der Sortierung von Objekten, die in einem gesammelten Format vorhanden sind, und wird zum Zählen der Anzahl vorhandener Elemente verwendet, die über unterschiedliche Schlüssel-Wert-Paare verfügen. Außerdem wird es mit arithmetischen Zählungen verwendet, die die Position jedes vorhandenen Elements mit jedem Schlüsselwert bestimmen die Differenz zwischen dem Minimal- und Maximalwert.
- Laufzeit oder Zeitkomplexität sind, wenn aktiviert, linearer Natur und umfassen alle Elemente im Array und die Differenz zwischen den minimalen und maximalen Schlüsselwerten. Daher eignen sich diese Elemente und die Sortiertechnik für den direkten Einsatz, bei dem es zu Variationen in den Schlüsseln kommt sind nicht wesentlich größer als die mit dem erforderlichen Schlüssel vorhandenen Elemente.
- Obwohl es einen anderen Algorithmus gibt, der den Großteil der Schlüsselverarbeitung unterstützen kann, ist dieser nicht so effizient, da die Zählsortierung gemäß den Anforderungen und das Hashing durch die Radix-Sortierung ersetzt werden kann, um die Situation einer großen Schlüsselmenge im Vergleich zum vorherigen zu bewältigen .
- Da die Zählsortierung ein Schlüssel-Wert-Paar als Teil des Indexwerts in einem Array verwendet, wird sie nicht als Vergleichssortierung betrachtet. Außerdem ist die untere Grenze der Vergleichssortierung nicht zulässig.
- Bucket-Sortierung ist auch Unterzählungssortierung, nur mit der gleichen Aufgabengruppe und einer ähnlichen Zeitanalyse, aber im Vergleich zur Zählsortierung erfordert die Bucket-Sortierung zu diesem Zeitpunkt dynamische Arrays, verknüpfte Listen oder eine große Speichermenge Die im Bucket vorhandenen Elemente und die anschließende Sortierung speichern nur die Werte, die je nach Bucket individuell und einzeln sind.
- Es gibt bestimmte hypothetische Eingabe- und Ausgabesequenzen, die auf der Tatsache beruhen, dass die Eingabe für die Zählsortierung aus einer Sammlung von n Elementen besteht, wobei jedes Element nicht negative ganzzahlige Schlüsselwerte für den Maximalwert mit einem Wert von k hat. Einige Beschreibungen der Zählsortierung sind die Eingabe, um einfach eine Folge von Ganzzahlen im linearen Format zu sortieren.
- Die Ausgabe eines Arrays besteht meist nicht aus Hauptelementen mit einer bestimmten Schlüsselreihenfolge, aber seine Verwendung muss im Hinblick auf die Anforderung überprüft werden.
- Die Zeitkomplexität in Bezug auf das Zählen von Sortieren beträgt O (n+l), wobei n die Anzahl der Elemente und l der Bereich für die Berücksichtigung der Eingabe ist.
- Außerdem ist der Hilfsraum nur O(n+l).
Beispiel für Zählsortierung in Java
Dieses Programm demonstriert die Zählsortierung, indem es einige der Eingabe- und Ausgabesequenzen berücksichtigt, die als Teil der Sortierung in Java festgelegt wurden.
Code:
public class Counting_Sort_1{
void sort_0(char arr_0[])
{
int n_8 = arr_0.length;
char output_val[] = new char[n_8];
int count_0[] = new int[528];
for (int l_0 = 0; l_0 < 528; ++l_0)
count_0[l_0] = 0;
for (int y_1 = 0; y_1 < n_8; ++y_1)
++count_0[arr_0[y_1]];
for (int l_0 = 1; l_0 <= 526; ++l_0)
count_0[l_0] += count_0[l_0 - 1];
for (int l_0 = n_8 - 1; l_0 >= 0; l_0--) {
output_val[count_0[arr_0[l_0]] - 1] = arr_0[l_0];
--count_0[arr_0[l_0]];
}
for (int l_0 = 0; l_0 < n_8; ++l_0)
arr_0[l_0] = output_val[l_0];
}
public static void main(String []args){
Counting_Sort_1 ob = new Counting_Sort_1();
char arr_0[] = { 's', 'a', 'r', 'c', 's', 'f', 'o',
'i', 'n', 'c', 'a', 'r', 'm' };
ob.sort_0(arr_0);
System.out.print("Sorted_character_array_in_Counting_Sort ");
for (int l = 0; l < arr_0.length; ++l)
System.out.print(arr_0[l]);
}
}
Nach dem Login kopieren
Ausgabe:
Erklärung
Im obigen Beispiel haben wir die Zählsortierung in Java implementiert, wobei die folgenden Schritte für eine ordnungsgemäße Ausführung befolgt wurden:
- Eine Klasse mit Selection_Sort_0 wird erstellt und dann dem Eingabesatz für die Klasse gefolgt.
- Sobald die Klasse erstellt ist, wurde eine Methode zum Speichern des Zeichenarrays erstellt, das ein sortiertes Array haben wird.
- Erstellung eines Zählarrays mit dem Ziel, den Wert als unabhängige Entität in Form eines Schlüssel-Wert-Paares zu speichern und anschließend in Form von char als Anzahl zu speichern.
- Eine Änderung der Anzahl ist erforderlich, um den tatsächlichen Wert und die Position des aktuellen Zeichens im Ausgabearray zu zählen.
- Erstellen des Ausgabearrays mit dem Zeichensatz, um es in umgekehrter Reihenfolge stabil und bedienbar zu machen.
- Kopieren des sortierten Arrays in das aktuelle Array, um das Array auf die eine oder andere Weise zu sortieren.
- Der Treibercode wird ausgeführt, um die gesamte Codebasis weiter voranzutreiben, um die Ausgabe von der Eingabequelle zu erhalten.
Fazit
Zählsortierung ist eine Art Sortieralgorithmus, der auf ein Array angewendet wird, das aus einer Reihe von Elementen zum Sortieren besteht. Die Sortierung basiert auf den Schlüssel-Wert-Paaren, die im Array vorhanden sind, oder auf der Differenz zwischen dem Minimalwert und dem Maximalwert. Counting Sorting hat den Entwicklern große Hilfe geboten, wenn es um die Implementierung unter Verwendung von Ganzzahlen in großen Mengen geht.
Das obige ist der detaillierte Inhalt vonZählsortierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!