/ / Nach Zusammenführung sortieren: Beschreibung des Algorithmus und Unterschiede zu anderen Arten der Datenreihenfolge

Zusammenführungssortierung: Beschreibung der Funktionsweise des Algorithmus und Unterschiede zu anderen Arten der Datenreihenfolge

Bei der Entwicklung verschiedener Programme praktischProgrammierer müssen immer auf die Sortierung zurückgreifen, um Arbeitsalgorithmen zu optimieren, die Leistung einer Suchoperation zu verbessern usw. Heutzutage gibt es viele verschiedene Methoden, um Elemente in der erforderlichen Reihenfolge anzuordnen: Sortierung zusammenführen, Schlüssel verwenden usw. Sortieren ist ein Komplex von Operationen, Das Ergebnis führt dazu, dass Objekte des gleichen Typs in absteigender oder aufsteigender Reihenfolge angeordnet werden - abhängig von den Anforderungen einer bestimmten Aufgabe.

Die ganze Vielfalt der Sortieralgorithmen kann seinunterteilt in zwei Kategorien: Anordnung der Arrays und Reihenfolge der Dateien. Der erste Objekttyp kann sich nicht nur im RAM befinden, sondern auch auf einem Medium, sofern der Zugriff darauf direkt geöffnet ist. Die zweite Kategorie von Objekten muss sich auf einem materiellen Medium befinden: Scheibe oder Magnetband.

Hauptunterschied zwischen der Bestellung von ArtikelnArray und der Speicherort in der deklarierten Reihenfolge der Dateien ist, dass alle Array-Mitglieder jederzeit verfügbar sind, wenn auf sie zugegriffen wird. Daher beginnt der Sortiervorgang sofort ab dem Moment, an dem die Prozedur ohne Unterbrechungen beginnt, da das eine oder andere Element nicht verfügbar ist. Wenn Sie jedoch Dateien zu einem bestimmten Zeitpunkt bestellen, kann der Zugriff nur einer begrenzten Anzahl von Mitgliedern gewährt werden.

Häufig genug, um Dateien zu organisierenEs wird eine Zusammenführungssortierung angewendet, die auf den Grundprinzipien der Anordnung von Elementen in einer bestimmten Reihenfolge basiert. Im Allgemeinen kann der Sortiervorgang wie folgt beschrieben werden: Ein bestimmtes Datensegment wird ausgewählt und als Schlüssel verwendet. Betrachten Sie als Beispiel das Sortieren von Mailings nach einem angegebenen Index. Infolgedessen führt der Algorithmus keine vollständige Analyse der Informationen durch, sondern sortiert gleichzeitig die erforderlichen Elemente mit hoher Wahrscheinlichkeit.

Der Hauptunterschied zwischen sequentiellen Dateien undDateien mit direktem Zugriff können sich auf Medien befinden, auf denen sich ein ständiger direkter Zugriff nur schwer organisieren lässt. Außerdem verwenden solche Dateien normalerweise keine feste Länge für die gespeicherten Datensätze. Aufgrund dieser Funktionen werden sequentielle Dateien nur in zwei Situationen verwendet:

- gegebenenfalls Verwendung eines Speichermediums, das auf sequentiellen Zugriff ausgerichtet ist;

- wenn es zweckmäßig ist, Datensätze mit variabler Länge zu verwenden.

Die Zusammenführungssortierung wird häufig verwendetin modernen Software-Tools. Dies ist auf die weite Verbreitung sequentieller Dateien zurückzuführen. Beispielsweise sind fast alle Textdateien sequentiell. Trotz der Bequemlichkeit, eine sequentiell organisierte Datei als ein Array von Daten zu betrachten, ist ein solcher Ansatz unmöglich, da es unmöglich ist, physisch auf alle Elemente der Dateihardware zuzugreifen.

Die Zusammenführungssorte ist in der Tat die einzige gewordenWeg, um sequentielle Dateien zu sortieren. Obwohl es heute andere Methoden zum Organisieren sequentieller Dateien gibt, bleibt diese Methode eine der beliebtesten. Natürliche Zusammenführungssortierung bedeutet, eine Datei in zwei Teile aufzuteilen, deren Informationsvolumen gleich ist. Ferner wird aus jeder Datei jedes Element, das derzeit verfügbar ist, schrittweise gelesen. Die geordneten Elemente sind in der dritten Datei in der erforderlichen Reihenfolge angeordnet, die weiter in zwei gleich große Elemente unterteilt ist. Auf diese Weise wird die Zusammenführungssortierung durchgeführt. Pascal, C, Basic - Die meisten bekannten Programmiersprachen unterstützen die Implementierung dieser Art der sequentiellen Dateibestellung.