Jakiś czas temu otrzymaliśmy zadanie napisania programu c, który sortuje tablicę liczb n przy użyciu max-sterty d-ary (sterty, gdzie każdy węzeł ma do d dzieci). Program musiał poprosić użytkownika o wprowadzenie wartości d, wartości między 2 a wielkością tablicy. Podczas sprawdzania mojego programu przypadkowo wpisałem 1 jako wartość d i jakoś algorytm pomyślnie posortował tablicę przy użyciu 1-rzędowej sterty, chociaż zajęło to znacznie więcej czasu niż normalne wartości d.Sortowanie sterty 1-rzędowe?
Jak to możliwe? Stawka 1-rzędowa nie jest nawet stertą, podobnie jak lista, każdy węzeł ma tylko jedno dziecko. Czy ktoś może wyjaśnić, w jaki sposób może się dokonać takie sortowanie?
Więc co się właściwie wydarzyło, jest nieefektywnym wariantem sortowania? – Bob
To był standardowy typ wstawiania, a następnie seria operacji "pop", które obejmowały przenoszenie wszystkich elementów w stercie z "n" na "n-1". –