Zaawansowane algorytmy i struktury danych/Ćwiczenia 13: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 42: | Linia 42: | ||
Dzielimy tablicę na kawałki długości <math> \sqrt{n} </math>. Z otrzymanymi kawałkami robimy to samo, aż | Dzielimy tablicę na kawałki długości <math> \sqrt{n} </math>. Z otrzymanymi kawałkami robimy to samo, aż | ||
długość będzie pewną stałą. | długość będzie pewną stałą. | ||
Zadanie | |||
Zmień algorytm ParallelMerger tak aby scalał dwa ciągi w czasie logarytmicznym używając tylko | |||
<math> O(\frac{n}{\log n})</math> procesorów. | |||
Rozwiązanie. | |||
Podziel ciągi które trzeba scalić na segmenty długości log n. | |||
Wersja z 11:41, 31 sie 2006
Zadanie ?
Dany jest ciąg nawiasów ( lub ), sprawdzić czy jest to ciąg poprawny nawiasowo w czasie log n z pracą liniową.
Rozwiązanie
Zasosować algorytm na sumy prefiksowe, lewy nawias +1, prawy nawias -1. sumy musza być nieujemne a nakońcu zero.
Zadanie ?
Dany jest ciąg nawiasów okrągłych lub kwadratowych ( , ), [ , ], sprawdzić czy jest to ciąg poprawny nawiasowo w czasie log n z pracą liniową.
Zadanie ?
Uzasadnić dlaczego algorytm $A_{k+1}$ liczenia minimum w tablicy n-elementowej działa w czasie O(1) używając procesor"ow, gdzie Zakładamy, że dwa procesory nie mogą próbować wpisać jednocześnie dwie różne wartości w to samo miejsce (ale mogą jednocześnie tę samą wartość).
Rozwiazanie
gdzie
Zadanie ?
Oblicz na CRCW PRAM minimum w tablicy n-elementowej w czasie O(log log n) używając O(n / log log n) procesorów. Zakładamy, że dwa procesory nie mogą próbować wpisać jednocześnie dwie różne wartości w to samo miejsce (ale mogą jednocześnie tę samą wartość).
Rozwiazanie
Dzielimy tablicę na kawałki długości . Z otrzymanymi kawałkami robimy to samo, aż długość będzie pewną stałą.
Zadanie
Zmień algorytm ParallelMerger tak aby scalał dwa ciągi w czasie logarytmicznym używając tylko procesorów.
Rozwiązanie.
Podziel ciągi które trzeba scalić na segmenty długości log n.
Zadanie.
Jaka jest asymptotycznie liczba operacji w układzie arytmetycznym odpowiadającym algorytmowi PrefSums1.
Rozwiązanie.
Zadanie.
Jaka jest asymptotycznie liczba operacji w układzie arytmetycznym odpowiadającym algorytmowi PrefSums2.
Rozwiązanie.