Dieser Artikel beschreibt die Implementierungsmethode zur Paritätssorten von Java -Austauschsortierungen. Teilen Sie es für Ihre Referenz. Die Details sind wie folgt:
Paritätssorte oder Paritätstranspositionssorte oder Ziegelart ist ein relativ einfacher Sortieralgorithmus, der ursprünglich für paralleles Computing mit lokalen Verbindungen erfunden wurde. Dies ist eine vergleichende Art, die den Eigenschaften der Blasensortierung ähnelt.
In diesem Algorithmus austauschen numerische Paarpaare im Array, wenn sich das Odd-Even-Paar in der falschen Reihenfolge befindet (der erste ist größer als das zweite), dann tauschen Sie dann aus. Wiederholen Sie den nächsten Schritt, aber für alle (gerade-) Position numerische Paare. Mach weiter so abwechselnd.
Sortierung von Prozessorarrays
In der parallele Computersortierung verarbeitet jeder Prozessor einen Wert, der ihm entspricht und nur lokale Verbindungen mit den linken und rechten Nachbarn verfügt. Alle Prozessoren können Operationen gleichzeitig mit Nachbarn vergleichen und austauschen, abwechselnd in ungeraden, gleichmäßiger Reihenfolge. Der Algorithmus wurde ursprünglich 1972 von Habermann veröffentlicht und demonstrierte seine Effizienz bei der parallelen Verarbeitung.
Der Algorithmus kann effektiv auf Fälle ausgedehnt werden, in denen jeder Prozessor mehrere Werte hat. Im BaudetStevenson Parity Merge Partitioning -Algorithmus sortiert jeder Prozessor die Subtarrays, die er in jedem Schritt besitzt, und führt dann eine Merge -Partition oder Transposition mit den Nachbarn durch.
Batcher -Parität und sogar sortieren
Die Sortierung von Batcher Parity ist ein relevanter, aber effizienterer Sortieralgorithmus, der Vergleichsaustausch- und Perfect-Shuffle-Operationen verwendet.
Der Ansatz von Batcher ist bei parallelen Computerprozessoren mit umfangreicher Zusammenhänge sehr effizient.
Schlimmste Zeitkomplexität/Theta (n^2)
Die dynamische Grafik der Paritätsart lautet wie folgt:
Code -Implementierung:
Paket com.baobaotao.test; : pre "> </span> * @param Array <span style =" White-Space: PRE "> </span> */public static void batchersort (int [] array) {int länge = array.length; boolesche Flagge = true; I+1); Flag = False; i+1); ausgetauscht werden b * @param c Die Nummer, die ausgetauscht werden kann, c */ public static void Swap (int [] a, int b, int c) {int temp = 0; ]> [c]) {temp = a [b]; printarr (int [] Array) {für (int c: array) {System.out.print (c + ""); [] Nummer = {11,95,45,15,78,84,51,24,12};Ausgangsanalyse:
11 45 15 95 51 78 12 84 2411 15 45 51 12 95 24 78 8411 15 12 45 24 51 78 95 8411 12 15 24 45 51 78 84 95
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.