28.09
This commit is contained in:
+21
-6
@@ -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()
|
||||
#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
@@ -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
@@ -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')
|
||||
Reference in New Issue
Block a user