This commit is contained in:
alstergym
2026-09-28 15:41:37 +02:00
parent 56ac384fbe
commit abaeb08336
3 changed files with 41 additions and 21 deletions
+20 -5
View File
@@ -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]
# 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()
#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')
+12 -10
View File
@@ -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}")
start = time.time()
selection_sort()
end = time.time()
verstrichene_zeit = end - start
print(f'Ausführungszeit: {verstrichene_zeit} Sekunden')
+8 -5
View File
@@ -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')