28.09.
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import random
|
||||
import time
|
||||
|
||||
|
||||
def bubblesort(array):
|
||||
anzahlVergleiche = 0
|
||||
anzahlTauschvorgaenge = 0
|
||||
|
||||
n = len(array)
|
||||
|
||||
startzeit = time.perf_counter()
|
||||
|
||||
for i in range(n - 1):
|
||||
for j in range(n - 1):
|
||||
anzahlVergleiche += 1
|
||||
|
||||
if array[j] > array[j + 1]:
|
||||
array[j], array[j + 1] = array[j + 1], array[j]
|
||||
anzahlTauschvorgaenge += 1
|
||||
|
||||
endzeit = time.perf_counter()
|
||||
|
||||
return anzahlVergleiche, anzahlTauschvorgaenge, endzeit - startzeit
|
||||
|
||||
|
||||
# 40.000 unterschiedliche Zahlen zwischen 1 und 100.000
|
||||
data = random.sample(range(1, 100001), 40000)
|
||||
|
||||
print("=" * 45)
|
||||
print(" BUBBLESORT")
|
||||
print("=" * 45)
|
||||
|
||||
vergleiche, tausche, zeit = bubblesort(data)
|
||||
|
||||
print("\nSortierung abgeschlossen!")
|
||||
print("-" * 45)
|
||||
print("Anzahl Zahlen: ", len(data))
|
||||
print("Anzahl Vergleiche: ", vergleiche)
|
||||
print("Anzahl Tauschvorgänge:", tausche)
|
||||
print("Benötigte Zeit: ", zeit, "Sekunden")
|
||||
print("-" * 45)
|
||||
|
||||
print("\nErste 20 Zahlen des sortierten Arrays:")
|
||||
print(data[:20])
|
||||
|
||||
print("=" * 45)
|
||||
Reference in New Issue
Block a user