Umstellen der Auswertungslogik

This commit is contained in:
Oliver Hofmann
2026-03-31 11:30:26 +02:00
parent c48b5c7e59
commit 1dfdff9391
25 changed files with 49 additions and 558 deletions
@@ -1,6 +1,6 @@
from utils.algo_context import AlgoContext
from utils.algo_array import Array
from utils.algo_range import irange
from utils.algo_range import Range
def count_sort(a: Array, b: Array, k: int, ctx: AlgoContext):
@@ -14,15 +14,15 @@ def count_sort(a: Array, b: Array, k: int, ctx: AlgoContext):
c = Array([0] * (k + 1), ctx) # Zählarray
# Häufigkeiten zählen
for j in irange(len(a)):
for j in Range(len(a)):
c[a[j]] = c[a[j]] + 1
# Kumulierte Summen bilden
for i in irange(1, k + 1):
for i in Range(1, k + 1):
c[i] = c[i] + c[i - 1]
# Stabil in b einsortieren (rückwärts für Stabilität)
for j in irange(len(a) - 1, -1, -1):
for j in Range(len(a) - 1, -1, -1):
b[c[a[j]] - 1] = a[j]
c[a[j]] = c[a[j]] - 1