Sei A1,A2,...,An
reelle Zahlen zwischen [0,2k]
(k ist konstant). Es ist bekannt, dass für jedes Paar Ai,AJ
dann |Ai-Aj|>=k/n
,Sortiere eine Reihe von n Zahlen zwischen [0,2k], wobei zwischen jedem Paar existiert: | Ai-Aj |> = k/n
Beschreiben Sie einen Algorithmus sortiert die Zahlen in O(n)
Laufzeit Worst-Case.
Ich weiß, dass die Antwort Eimer-sort sein sollte. Kann nicht verstehen, warum, Und wenn ja, wie wähle ich die richtige Menge an Eimern? Wie hilft die |Ai-Aj|>=k/n
eigentlich?
Integer-Sortierung FTW! –
@templatetypedef da jedes Paar '> = k/n' ist, also nicht' 2n' Buckets der Größe 'k/n' ausreichend? Sage "n = 8, k = 30" und die Zahlen sind: "0,4,7,12,15,18,22,25", dann "B0 = 0", "B1 = 4", "B2 = 7", "B3 = 12", "B4 = 15", "B5 = 18", "B6 = 22", "B7 = 25", Restbehälter leer? Ich meine, jeder Eimer hat entweder 0 oder max. 1 Nummer. –