Ćwiczenia 13:Wyszukiwanie binarne (2)

Zadanie 1
Oblicz ile jest wystąpień x w posortowanej tablicy A.

Wskazówka: da się to zrobić w czasie logarytmicznym.

Zadanie 2
Znajdź maksimum w ciągu bitonicznym, czyli takim, że istnieje 1<=k<=n takie, że dla każdego 1 < j<=k A[j-1] < A[j] oraz dla każdego k < j <=n A[j-1] > A[j]. Uwaga: ciąg bitoniczny może być ciągiem rosnącym (lub malejącym) i wtedy największy element jest w A[n] (odpowiednio A[1]).

Zadanie 3.
Pokaż, że nie da się znaleźć w czasie logarytmicznym maksimum w ciągu słabo bitonicznym, czyli takim, że wszystkie nierówności są nieostre.

Zadanie 4
Tablicę posortowaną rosnąco przesunięto cyklicznie w prawo o k. Wyznacz najmniejsze k, które mogło spowodować takie przesunięcie (dla k >= n oczywiście przesunięcie się zacykla mod n).