Xairro.com

Login
Schliessen

Willkommen im Xairroversum! Ein kostenloser Account bei uns bietet dir mehrere Vorteile. Welche das genau sind, kannst du in der Tour erfahren. Viel Spaß!

Login

Register

Quicksort

Der Quicksort-Algorithmus ist ein Algorithmus, mit welchem sich auch große Listen schnell sortieren lassen. Er ist rekursiv und nutzt das Divide-And-Conquer-Prinzip.

Videoerklärung

Implementierung

Python

Ich habe den Algorithmus in Python mit den sogenannten List Comprehensions implementiert. Im Beispiel sortiert er die ungeordnete Ziffernfolge 1-10.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/usr/bin/env python

def quicksort(liste):
	if len(liste) <= 1:
		return liste
	pivot = liste.pop(0)
	groessergleich = quicksort([i for i in liste if i >= pivot])
	kleiner = quicksort([i for i in liste if i < pivot])
	return kleiner + [pivot] + groessergleich

if __name__ == "__main__":
	liste = [3,6,1,8,5,10,9,2,7,4]
	print quicksort(liste)

Java

Dustin und ich hatten im Informatik-Unterricht den Quicksort-Algorithmus in Java implementiert. Zusätzlich haben wir eine GUI, welche die notwendigen Vergleiche und Rechenoperationen anzeigt hinzugefügt. Den Code findet ihr hier.

2 comments

was für eine Zeit träum .... wolltest du nicht eigentlich in dem Video das Teile und Hersche Prinzip näher erläutern, was du nur kurz am Anfang ansprichst? Übrigens liebe ich diese Keynotepräsentationen!!!

Duferkamp am March 6, 2010 um 1:31 a.m.

Stimmt, eigentlich wollte ich es genauer erläutert haben. Im Prinzip besteht das beim QuickSort nur darin, die Teillisten durch die Rekursion an "jemanden anderes" weiterzugeben.

BlitzChecker am March 6, 2010 um 10:50 a.m.

Post comment

Zum Kommentieren musst du angemeldet sein.

About the author

Lukas

Lukas aka BlitzChecker programmiert seit 2003 in diversen Programmiersprachen. Spezialisiert hat er sich auf die Webprogrammierung und Linux Administration. Sein Fachwissen gibt er gerne in Artikeln auf Xairro weiter.

Weitere Informationen gibt es in seinem Userprofil auf Xairro und auf seiner privaten Homepage.

Tags

1-10 algorithmus anzeigt comprehensions def dustin findet große gui haben hatten hier hinzugefügt ihr implementiert implementierung java kleiner list liste pivot python quicksort sogenannten sortieren sortiert ungeordnete usr vergleiche videoerklärung welche ziffernfolge zusätzlich