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.
|
# 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.
|
# Bei jedem Durchlauf soll das Array ausgegeben werden umnd farblich markiert sein welche zwei Werte gerade verglichen werden.
|
||||||
|
|
||||||
anzahlVergleiche = 0
|
# Am Anfang soll ein zufälliges Array A mit 10 Werten zwischen 1 und 100 erstellt werden.
|
||||||
anzahlTauschungen = 0
|
# Die Zeit für den Sortiervorgang soll gemessen werden und am Ende ausgegeben werden.
|
||||||
Array = [3,2,1,5,4]
|
import random
|
||||||
print ("Unsortiertes Array A:", Array)
|
import time
|
||||||
|
n = 50000
|
||||||
|
Array = [random.randint(1, n) for _ in range(1, n)]
|
||||||
|
print("Unsortiertes Array A:", Array)
|
||||||
Länge = len(Array)
|
Länge = len(Array)
|
||||||
|
|
||||||
|
|
||||||
def Aufgabe1():
|
def Aufgabe1():
|
||||||
anzahlVergleiche = 0
|
anzahlVergleiche = 0
|
||||||
anzahlTauschungen = 0
|
anzahlTauschungen = 0
|
||||||
@@ -41,4 +43,17 @@ def Aufgabe2():
|
|||||||
print(f"Anzahl der Vergleiche: {anzahlVergleiche}")
|
print(f"Anzahl der Vergleiche: {anzahlVergleiche}")
|
||||||
print(f"Anzahl der Tauschungen: {anzahlTauschungen}")
|
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)
|
Länge = len(Array)
|
||||||
|
|
||||||
def selection_sort():
|
def selection_sort():
|
||||||
anzahlVergleiche = 0
|
|
||||||
anzahlTauschungen = 0
|
|
||||||
for i in range(Länge):
|
for i in range(Länge):
|
||||||
min_index = i
|
min_index = i
|
||||||
for j in range(i+1, Länge):
|
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]:
|
if Array[j] < Array[min_index]:
|
||||||
min_index = j
|
min_index = j
|
||||||
anzahlVergleiche += 1
|
|
||||||
if min_index != i:
|
if min_index != i:
|
||||||
Array[i], Array[min_index] = Array[min_index], Array[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("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:
|
# 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.
|
# 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.
|
# 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)
|
print(Array)
|
||||||
def quicksort(Array):
|
def quicksort(Array):
|
||||||
Pivot = Array[0]
|
Pivot = Array[0]
|
||||||
@@ -25,8 +28,8 @@ def quicksort(Array):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
start = time.time()
|
||||||
print(quicksort(Array))
|
print(quicksort(Array))
|
||||||
|
end = time.time()
|
||||||
|
verstrichene_zeit = end - start
|
||||||
|
print(f'Ausführungszeit: {verstrichene_zeit} Sekunden')
|
||||||
Reference in New Issue
Block a user