diff --git a/Bubblesort.py b/Bubblesort.py index fb16503..d5fc9e4 100644 --- a/Bubblesort.py +++ b/Bubblesort.py @@ -1,13 +1,15 @@ # Auf ein Array A mit den Werten 64, 34, 25, 12, 22, 11, 90 soll ein Bubblesort durchgeführt werden. # Bei jedem Durchlauf soll das Array ausgegeben werden umnd farblich markiert sein welche zwei Werte gerade verglichen werden. -anzahlVergleiche = 0 -anzahlTauschungen = 0 -Array = [3,2,1,5,4] -print ("Unsortiertes Array A:", Array) +# Am Anfang soll ein zufälliges Array A mit 10 Werten zwischen 1 und 100 erstellt werden. +# Die Zeit für den Sortiervorgang soll gemessen werden und am Ende ausgegeben werden. +import random +import time +n = 50000 +Array = [random.randint(1, n) for _ in range(1, n)] +print("Unsortiertes Array A:", Array) Länge = len(Array) - def Aufgabe1(): anzahlVergleiche = 0 anzahlTauschungen = 0 @@ -41,4 +43,17 @@ def Aufgabe2(): print(f"Anzahl der Vergleiche: {anzahlVergleiche}") print(f"Anzahl der Tauschungen: {anzahlTauschungen}") -Aufgabe2() \ No newline at end of file +#Aufgabe2() + +def Bubblesortz(): + for i in range(Länge): + for j in range(0, Länge-i-1): + if Array[j] > Array[j+1]: + Array[j], Array[j+1] = Array[j+1], Array[j] + print("Sortiert sieht das Array A so aus:", Array) +start = time.time() +Bubblesortz() +end = time.time() +verstrichene_zeit = end - start + +print(f'Ausführungszeit: {verstrichene_zeit} Sekunden') diff --git a/SelectionSort.py b/SelectionSort.py index 1948301..d201b59 100644 --- a/SelectionSort.py +++ b/SelectionSort.py @@ -1,21 +1,23 @@ -Array = [3,2,1,5,4] +import random +import time +n = 50000 +Array = [random.randint(1, n) for _ in range(1, n)] +print("Unsortiertes Array A:", Array) Länge = len(Array) def selection_sort(): - anzahlVergleiche = 0 - anzahlTauschungen = 0 for i in range(Länge): min_index = i for j in range(i+1, Länge): - print(f"Vergleich: Array[{min_index}] = {Array[min_index]} und Array[{j}] = {Array[j]}") if Array[j] < Array[min_index]: min_index = j - anzahlVergleiche += 1 if min_index != i: Array[i], Array[min_index] = Array[min_index], Array[i] - anzahlTauschungen += 1 - print(f"Vertauscht: Array[{i}] = {Array[i]} und Array[{min_index}] = {Array[min_index]}") - print() # Neue Zeile nach jedem Durchlauf + print("Sortiert sieht das Array A so aus:", Array) - print(f"Anzahl der Vergleiche: {anzahlVergleiche}") - print(f"Anzahl der Tauschungen: {anzahlTauschungen}") \ No newline at end of file + +start = time.time() +selection_sort() +end = time.time() +verstrichene_zeit = end - start +print(f'Ausführungszeit: {verstrichene_zeit} Sekunden') \ No newline at end of file diff --git a/quicksort.py b/quicksort.py index a90b7a6..7d56b31 100644 --- a/quicksort.py +++ b/quicksort.py @@ -2,8 +2,11 @@ # Der Algorithmus wählt ein Pivot-Element aus der Liste und teilt die anderen Elemente in drei Listen auf: # diejenigen, die kleiner als das Pivot sind, diejenigen, die gleich dem Pivot sind, und diejenigen, die größer als das Pivot sind. # Dann wird der Algorithmus rekursiv auf die kleineren und größeren Listen angewendet. +import random +import time +n = 50000 +Array = [random.randint(1, n) for _ in range(1, n)] -Array = [7,2,9,4,1,8,3,6,5,0] print(Array) def quicksort(Array): Pivot = Array[0] @@ -25,8 +28,8 @@ def quicksort(Array): - +start = time.time() print(quicksort(Array)) - - - +end = time.time() +verstrichene_zeit = end - start +print(f'Ausführungszeit: {verstrichene_zeit} Sekunden') \ No newline at end of file