Zum Hauptinhalt springen

Wie man Zahlen in absteigender Reihenfolge ableitet: Einfache Algorithmen und Codes in Python

Wenn wir jedoch Zahlen in absteigender Reihenfolge aus einem unsortierten Datensatz ableiten möchten, sind andere Methoden erforderlich. In diesem Fall können Sie Sortieralgorithmen wie Blasensortierung oder Zusammenführungssortierung verwenden. Mit diesen Algorithmen können Sie Zahlen in der richtigen Reihenfolge anordnen und sie dann in umgekehrter Reihenfolge ausgeben, um eine absteigende Reihenfolge zu erhalten.

Wie man Zahlen in absteigender Reihenfolge ableitet: Grundlegende Algorithmen

Wenn Sie Zahlen in absteigender Reihenfolge ableiten müssen, haben Sie einige grundlegende Algorithmen, die Ihnen bei dieser Aufgabe helfen können.

1. Blasenortieralgorithmus:

SchrittDie Zahlen
18, 3, 5, 2, 9
28, 5, 3, 2, 9
38, 5, 3, 2, 9
48, 5, 3, 2, 9
59, 8, 5, 3, 2

2. Auswahlsortieralgorithmus:

SchrittDie Zahlen
18, 3, 5, 2, 9
29, 3, 5, 2, 8
39, 8, 5, 2, 3
49, 8, 5, 3, 2
59, 8, 5, 3, 2

3. Einfüge-Sortieralgorithmus:

SchrittDie Zahlen
18, 3, 5, 2, 9
28, 5, 3, 2, 9
38, 5, 3, 2, 9
49, 8, 5, 3, 2
59, 8, 5, 3, 2

Die Wahl des Algorithmus hängt von der jeweiligen Situation ab, aber sie sind alle in der Lage, die Zahlen in absteigender Reihenfolge zu sortieren.

Verwenden einer Schleife

For-Schleife:

int n = 10;for (int i = n; i >= 1; i--)

In diesem Beispiel beginnt die for-Schleife mit der Zahl 10 und dauert bis 1. Bei jeder Iteration wird der Wert der Variablen i um 1 reduziert, wodurch die Zahlen in absteigender Reihenfolge ausgegeben werden können.

While-Schleife:

int n = 10;int i = n;while (i >= 1)

Eine while-Schleife hat eine ähnliche Logik wie eine for-Schleife. Es beginnt auch bei der Zahl 10 und setzt sich bis zu 1 fort, solange der Wert der Variablen i größer oder gleich 1 ist. Bei jeder Iteration wird der Wert der Variablen i um 1 reduziert.

Do-while-Schleife:

int n = 10;int i = n;do while (i >= 1);

Die do-while-Schleife hat die gleiche Logik wie die while-Schleife. Es beginnt auch bei der Nummer 10 und geht weiter bis 1. Im Falle einer Do-while-Schleife wird der Code innerhalb der Schleife jedoch mindestens einmal ausgeführt, bevor die Bedingung überprüft wird.

Die Verwendung einer Schleife ermöglicht es daher, die Zahlen bequem und effizient in absteigender Reihenfolge abzuleiten. Die Auswahl einer bestimmten Art von Schleife hängt von der Aufgabe und den Vorlieben des Entwicklers ab.

Sortieren von Zahlen

Das Sortieren von Zahlen ist der Prozess, um numerische Werte in einer bestimmten Reihenfolge anzuordnen. Es gibt mehrere Möglichkeiten, Zahlen zu sortieren, einschließlich aufsteigender Sortierung und absteigender Sortierung.

Eine einfache Möglichkeit, Zahlen in absteigender Reihenfolge zu sortieren, besteht darin, einen Blasenortieralgorithmus zu verwenden. Um dies zu tun, müssen Sie alle Elemente des Zahlenarrays durchlaufen und jedes Wertepaar vergleichen. Wenn die erste Zahl größer als die zweite ist, wechseln sie die Plätze. Dieser Prozess wird fortgesetzt, bis alle Zahlen in der richtigen Reihenfolge angeordnet sind.

Wenn Sie eine große Anzahl von Zahlen haben, ist es effizienter, einen Schnellsortieralgorithmus zu verwenden. In diesem Fall wird das Zahlenarray in zwei Teile geteilt, in denen die Werte auf verschiedenen Seiten des Referenzelements angeordnet sind. Die Prozedur wird dann für jeden der beiden Teile wiederholt, bis der zugrunde liegende Sortierfall (ein Array mit einem Element) erreicht ist.

Name des AlgorithmusDie Beschreibung
Blase sortierenWir gehen durch das Array und vergleichen Wertepaare. Wenn die erste Zahl größer ist als die zweite, tauschen wir sie aus. Wir wiederholen den Vorgang, bis alle Zahlen sortiert sind.
Schnelle SortierungWir teilen das Array in zwei Teile auf, in denen sich die Werte auf verschiedenen Seiten des Referenzelements befinden. Wiederholen Sie den Vorgang für jeden Teil, bis der grundlegende Sortierfall erreicht ist.

Dies sind nur einige der möglichen Möglichkeiten, um Zahlen zu sortieren. Abhängig von der Anzahl der Zahlen und den Leistungsanforderungen können Sie den am besten geeigneten Sortieralgorithmus auswählen.

1. Sortieralgorithmus durch Auswahl.

Dieser Algorithmus ist wie folgt:

a) Wir finden das größte Element in der Liste;

b) Fügen Sie es zu einer neuen Liste hinzu;

c) Wir entfernen es aus der ursprünglichen Liste;

d) Wiederholen Sie die Schritte a) bis c), bis die ursprüngliche Liste leer ist.

2. Blasenortieralgorithmus.

Dieser Algorithmus funktioniert wie folgt:

a) Vergleichen Sie Paare benachbarter Listenelemente;

b) Wenn die Elemente in der falschen Reihenfolge sind, tauschen wir sie aus;

c) Wiederholen Sie die Schritte a) bis b), bis alle Elemente der Liste in absteigender Reihenfolge sortiert sind.

Vergleichsmethode

Der Algorithmus der Vergleichsmethode ist wie folgt:

  1. Vergleichen Sie die erste und die zweite Zahl. Wenn die erste Zahl größer ist als die zweite, tauschen Sie sie aus.
  2. Vergleichen Sie die zweite und dritte Zahl. Wenn die zweite Zahl größer als die dritte ist, tauschen Sie sie aus.
  3. Vergleichen und tauschen Sie die Zahlen weiter aus, bis alle Zahlen in der richtigen Reihenfolge angeordnet sind.

Die Vergleichsmethode ist besonders nützlich, wenn Sie einen kleinen Satz von Zahlen sortieren müssen, da sie nicht viel Rechenressourcen benötigt. Es ist jedoch bei großen Datasets ineffizient, da seine Ausführungszeit quadratisch sein kann.

Es ist wichtig sich daran zu erinnern, dass Sie bei der Verwendung der Vergleichsmethode die Besonderheiten des Zahlenvergleichs berücksichtigen müssen. Beim Vergleichen von Dezimalzahlen mit Gleitkommazahlen können beispielsweise Rundungs- und Genauigkeitsprobleme auftreten. Daher müssen Sie die Zahlen korrekt in das gewünschte Format konvertieren, bevor Sie die Vergleichsmethode anwenden.

Merge-Sortieralgorithmus

Sie können den Mergesortierungsprozess als folgenden Algorithmus darstellen:

  1. Wenn das Array weniger als zwei Elemente enthält, ist es bereits sortiert.
  2. Teilen Sie das ursprüngliche Array in zwei ungefähr gleiche Teile auf.
  3. Sortieren Sie rekursiv jede Hälfte des Arrays.
  4. Verschmelzen Sie zwei sortierte Hälften zu einem sortierten Array.
  5. Gibt das sortierte Array zurück.

Der Merge-Sortieralgorithmus hat eine Komplexität von O(n log n), wodurch er effizient und zum Sortieren großer Datenmengen geeignet ist. Es erfordert jedoch zusätzlichen Speicher, um temporäre Arrays beim Zusammenführen zu speichern, was bei der Arbeit mit sehr großen Arrays ein Nachteil sein kann.

Beispiel für die Implementierung eines Merge-Sortieralgorithmus in einer Programmiersprache:

function mergeSort(array) const middle = Math.floor(array.length / 2);const leftHalf = array.slice(0, middle);const rightHalf = array.slice(middle);return merge(mergeSort(leftHalf), mergeSort(rightHalf));>function merge(left, right) else >return merged.concat(left.slice(leftIndex)).concat(right.slice(rightIndex));>const unsortedArray = [4, 2, 8, 5, 1, 9, 6, 3, 7];const sortedArray = mergeSort(unsortedArray);

Daher ist der Merge-Sortieralgorithmus ein effektives und leistungsfähiges Werkzeug zum Sortieren von Arrays beliebiger Länge. Es ermöglicht Ihnen, die Elemente in absteigender Reihenfolge zu organisieren und kann in verschiedenen Programmaufgaben verwendet werden.