Sortowanie Shella z podaną zależnością

0

Polecenie brzmi, aby podać kolejne kroki sortowania malejąco tablicy: o d h k i s g a f m algorytmem Shella dla przyrostów podanych zależnością: hk-1 =3hk + 1

Wiem, że sortowanie Shella polega na porównywaniu elementów w równych i coraz mniejszych odstępach od siebie. Jeśli byłby podany np odstęp 5 3 1 to rozumiem, ale co ma w tym wypadku znaczyć hk-1 i hk ? Jak wyliczyć dokładne odstępy z tego wzoru?

0

h1 = 1
hk = 3 * hk-1 + 1

Stąd:
H = (1, 4, 13, 40, ...)

0

Czy nie powinno być H=(1,4,7,10,13...) ? Dlaczego 7 i 10 zostało ominięte?

0

Nie, dlaczego uważasz, że powinno tam być 7 i 10 ?

0

Hm, no bo dla 1 mam:
h k = 30+1=1
dla 2:
h k = 3
1 +1=4
dla 3:
h k=3*2+1=7 ...
?

0

Nie. Przecież @Wibowit pokazał jak to wygląda.

h1 = 1
h2 = 3h1 + 1
h3 = 3
h2 + 1
itd.

0

Tylko, że @Wibowit użył innego wzoru niż podany. Pomylił hk-1 i hk !

0

Na pewno ja, a nie ty? Zwykle podaje się wartości początkowe dla indeksów typu 0 lub 1, a potem wylicza wartości z wyższymi indeksami z wartości o niższych indeksach.

0

Sprawdzone, nie ma błędu w moim zapisie, zaczyna sie od h k-1

0

No to musisz mieć podany gdzieś też któryś konkretny wyraz tego ciągu. Z samej szybkości wzrostu nie wyliczy się konkretnych wartości. Trzeba od czegoś zacząć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1