lista02b

background image

Algorytmy i Struktury Danych

2b. Sortowanie, selekcja

1. (1p.) Jaka jest najmniejsza możliwa głębokość liśćia w drzewie decyzyj-

nym odpowiadającym algorytmowi sortującemu za pomocą porównań?

2. (2p.) Wykaż, że nie istnieje algorytm sortujący, który działa w czasie

liniowym dla co najmniej połowy z n! możliwych danych permutacji dłu-
gości n. Czy odpowiedź ulegnie zmianie, jeśli zapytamy o ułamek 1/n (lub
odpowiednio: 1/2

n

) wszystkich permutacji?

3. (2p.) Udowodnij, że w pesymistycznym przypadku potrzeba 2n − 1 po-

równań aby scalić dwa posortowane ciągi n-elementowe.

4. (1p.) Zilustruj działanie Counting-Sort dla tablicy

A =< 7, 1, 3, 1, 2, 4, 5, 7, 2, 4, 3 >

5. (1p.) Wykaż, że procedura Counting-Sort sortuje stabilnie.

6. (1p.) Zmieniamy wiersz 9 w Counting-sort następująco:

9 for

j ← 1 to length[A]

Wykaż, że algorytm nadal działa poprawnie. Czy nowa wersja zapewnia
stabilność?

7. (2p.) Zaprojektuj algorytm, który dla danych n liczb całkowitych z prze-

działu od 1 do k wykonuje wstępne obliczenia, a następnie w czasie O(1)
potrafi odpowiadać ile z tych liczb jest w zadanym przedziale [a . . . b]. Czas
obliczeń wstępnych powinien być O(n + k).

8. (1p.) Które z następujących algorytmów są stabilne: insertion-sort, merge-

sort, quicksort, heap-sort? Podaj metodę, która z dowolnego algorytmu
sortowania tworzy stabilny algorytm sortujący? Ile dodatkowej pamięci i
czasu wymaga jej zastosowanie?

9. (1p.) Udowodnij przez indukcję poprawność Radix-sort. W którym miej-

scu dowodu potrzebne jest założenie, że pomocniczy algorytm sortujący
jest stabilny?

10. (2p.) Skonstruuj algorytm, który sortuje n liczb całkowitych z przedziału

od 1 do n

2

w czasie O(n).

11. (1p.) Zilustruj działanie Bucket-Sort dla tablicy:

A =< 0.79, 0.13, 0.16, 0.64, 0.39, 0.20, 0.89, 0.53, 0.71, 0.42 >.

12. (1p.) Jaki jest pesymistyczny czas sortowania kubełkowego? Jak zmody-

fikować algorytm aby oczekiwany czas był nadal liniowy, a czas pesymi-
styczny wynosił O(n lg n)?

13. (2p.) Wykaż, że drugi co do wielkości element spośród n liczb można wy-

znaczyć w pesymistycznym przypadku za pomocą n+⌈lg n⌉−2 porównań.

1

background image

14. (2p.) Wykaż, że w pesymistycznym przypadku do wyznaczenia zarówno

minimum, jak maksimum z n liczb, konieczne jest ⌈3n/2⌉ − 2 porównań.
(Wskazówka: Rozważ, ile liczb może potencjalnie stanowić albo maksi-
mum, albo minimum, oraz zbadaj jak jedno porównanie może wpłynąć na
te wielkości.)

15. (1p.) Napisz iteracyjną wersję Randomized-Select.

16. (1p.) Zilustruj, jak w najgorszym przypadku zachowuje się Randomized-Select(A,1,10,1)

dla
A =< 3, 2, 9, 0, 7, 5, 4, 8, 6, 1 >.

17. (1p.) Czy Randomized-Select działa poprawnie, gdy w tablicy znajdują

się równe sobie elementy?

18. (2p.) Czy Select będzie działał w czasie liniowym, jeśli będziemy tworzyć

grupy po 7 elementów zamiast po 5 elementów? Jaka jest odpowiedź w
przypadku podziału na grupy 3-elementowe?

19. (1p.) Wykaż, że w algorytmie Select liczba elementów większych od

mediany median x oraz liczba elementów mniejszych od x jest niemniejsza
niż ⌈n/4⌉ jeśli n ≥ 38.

20. (1p.) Wykaż, że można zaimplementować algorytm quicksort tak, aby w

przypadku pesymistycznym działał w czasie O(n lg n).

21. (2p.) Przyjmij, że dany jest algorytm w postaci “czarnej skrzynki”, który

wyznacza medianę w pesymistycznym przypadku w czasie liniowym. Za-
projektuj algorytm, który używając tej “czarnej skrzynki” wyznacza do-
wolną statystykę pozycyjną w czasie liniowym.

22. (2p.) Zaprojektuj algorytm działający w czasie O(n), który dla danego

zbioru S parami różnych n kluczy oraz dodatniej liczby k ≤ n wyznacza
k liczb w S, które są najbliższe medianie S.

23. (2p.) Niech X[1 . . . n] i Y [1 . . . n] będą dwiema posortowanymi tablicami.

Podaj algorytm, który w czasie O(lg n) wyznacza medianę wszystkich 2n
elementów z obu tablic.

2


Wyszukiwarka

Podobne podstrony:
lista02a
lista06
Algorytmy i struktury danych, AiSD C Lista04
Lista0 2013 a2
lista04b
lista04
Lista05
Lista08
chpchbchsich kon lista04 zima2009
chpchbchsich kon lista02 zima2009
lista02
Ćw TO2 ETK Lista0-Warunkipoczatkowe
WE Mat1 lista05 ukl r-n1
WE Mat1 lista07 ukl r-n3
Lista03
lista03
Lista09
lista03
lista07

więcej podobnych podstron