


Wie implementiert man einen Zählsortieralgorithmus mit Python?
Wie implementiert man einen Zählsortieralgorithmus mit Python?
Counting Sort ist ein linearer Sortieralgorithmus nach Zeitkomplexität, der zum Sortieren von Ganzzahlen oder Arrays mit einem bestimmten Wertebereich verwendet werden kann. Seine Grundidee besteht darin, zu zählen, wie oft jedes Element vorkommt, und das Element basierend auf der Häufigkeit an der richtigen Position zu platzieren. Im Folgenden wird die Verwendung von Python zum Implementieren des Zählsortieralgorithmus vorgestellt und spezifische Codebeispiele gegeben.
Zunächst müssen wir den Kerngedanken der Zählsortierung klären. Die Ausführungsschritte der Zählsortierung lauten wie folgt:
- Suchen Sie die größte Zahl im zu sortierenden Array und erstellen Sie eine Hilfsarray-Zählung mit einer Länge der maximalen Zahl plus 1, die zum Speichern der Anzahl der Vorkommen von verwendet wird jedes Element;
- Durchlaufen Sie das zu sortierende Array, zählen Sie die Anzahl der Vorkommen jedes Elements und speichern Sie es im Zählarray.
- Führen Sie eine Akkumulationsoperation für das Zählarray durch, um den korrekten Positionsindex jedes Elements zu erhalten Erstellen Sie ein Ergebnisarray mit derselben Länge wie das zu sortierende Array.
- Durchlaufen Sie das zu sortierende Array und platzieren Sie die Elemente entsprechend dem Index des Elementwerts im Zählarray.
- Geben Sie das Ergebnis zurück Array-Ergebnis, das das sortierte Array ist.
- Das Folgende ist ein Codebeispiel mit Python zur Implementierung des Zählsortieralgorithmus:
def counting_sort(arr): # 找出最大值 max_val = max(arr) # 创建辅助数组count,并初始化为0 count = [0] * (max_val + 1) # 统计每个元素出现的次数 for num in arr: count[num] += 1 # 对count数组进行累加操作 for i in range(1, len(count)): count[i] += count[i - 1] # 创建结果数组result result = [0] * len(arr) # 将元素放置到正确的位置上 for num in arr: index = count[num] - 1 result[index] = num count[num] -= 1 # 返回结果数组 return result
Als nächstes können wir den Zählsortieralgorithmus auf folgende Weise testen:
arr = [4, 2, 3, 4, 1] sorted_arr = counting_sort(arr) print(sorted_arr)
Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet: [1 , 2, 3, 4 , 4].
Anhand der obigen Codebeispiele können wir sehen, dass die Implementierungsschritte des Zählsortieralgorithmus relativ einfach sind. Es handelt sich um einen sehr effizienten Sortieralgorithmus für Arrays mit einem bestimmten Wertebereich. Ich hoffe, dieser Artikel hilft Ihnen, den Zählsortieralgorithmus zu verstehen und zu verwenden!
Das obige ist der detaillierte Inhalt vonWie implementiert man einen Zählsortieralgorithmus mit Python?. 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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Alternative Verwendung von Python -Parameteranmerkungen in der Python -Programmierung, Parameteranmerkungen sind eine sehr nützliche Funktion, die den Entwicklern helfen kann, Funktionen besser zu verstehen und zu verwenden ...

Auswahl der Python-plattformübergreifenden Desktop-Anwendungsentwicklungsbibliothek Viele Python-Entwickler möchten Desktop-Anwendungen entwickeln, die sowohl auf Windows- als auch auf Linux-Systemen ausgeführt werden können ...

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Beim Schreiben von Python -Skripten ist es üblich, die vorherige Ausgabe an die Cursorposition zu löschen ...

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Bei der Programmierung stoßen wir häufig auf das Problem der Rückgabe von Nullwerten, wenn API aufruft, was nicht nur verwirrend ist ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Erste Schritte mit Python: Hourglas -Grafikzeichnung und Eingabeüberprüfung In diesem Artikel wird das Problem der Variablendefinition gelöst, das von einem Python -Anfänger im Hourglass -Grafikzeichnungsprogramm auftritt. Code...
