plik


ÿþAiSD: lista 7, zadanie 4 PaweB Lasko[-Grabowski nr indeksu 169827 29 maja 2006 1 Tre[ n-elementowym cigiem o jednym zaburzeniu nazywamy dowolny cig, który mo|e by otrzymany z cigu {1, 2, . . . , n} poprzez wykonanie jednej transpozycji. ZaBó|my, |e al- gorytm InsertSort bdzie uruchamiany jedynie na cigach o jednym takim zaburzeniu. Zbadaj [redni zBo|ono[ algorytmu przy zaBo|eniu, |e dla ka|dego n wszystkie takie cigi n-elementowe s jednakowo prawdopodobne. 2 Rozwizanie Przeanalizujmy przebieg dziaBania algorytmu na cigu 1, 2, . . . , i - 1, j, i + 1, . . . , j - 1, i, j + 1, . . . , n - 1, n, zauwa|ajc, |e dziaBa on w czterech  fazach : 1. Sortowanie elementów 1, 2, . . . , i-1, j. Poniewa| ka|dy kolejny rozpatrywany element jest wikszy od poprzedniego, wykonuje si i - 1 porównaD (pierwszego elementu nie porównujemy z niczym). 2. Wsortowanie elementów i + 1, . . . , j - 1. Ka|dy z nich porównywany jest ze stoj- cym na pocztku listy j, od którego jest mniejszy, a nastpnie ze stojcym za nim, od którego jest wikszy, zatem dla ka|dego z j - i - 1 elementów wykonuje si 2 porównania. 3. Wsortowanie elementu i. Wstawiany element jest mniejszy od stojcych na pocztku listy i + 1, . . . , j - 1, j (j - i porównaD), ale wikszy od stojcego za nimi i - 1  ogóBem j - i + 1 porównaD. 4. Dosortowanie elementów j + 1, . . . , n - 1, n. Tu znów na pocztku listy zawsze stoi element mniejszy od wsortowywanego, zatem wykonuje si po 1 porównaniu dla ka|dego z n - j elementów. Po zsumowaniu dostajemy koszt T (i, j) = n + 2(j - i - 1). Subtelnie inny wynik otrzymamy, gdy i = 1. Tu fazy dziaBania algorytmu s nast- pujce: 1. Wstawienie j. 0 porównaD. 2. Wsortowanie elementów i+1, . . . , j -1. Pierwszy z nich porównywany jest raz (tylko z j), nastpne  po 2 razy (z j oraz nastpnym na li[cie, na którym si  zatrzymuj ). Razem  2(j - 3) + 1 porównaD. 1 3. Wsortowanie elementu i. Porównujemy go ze wszystkimi ju| znajdujcymi si na li[cie, gdy| s od niego wiksze  j - 1 porównaD. 4. Dosortowanie pozostaBych elementów. Tak jak poprzednio, wykonuje si n - j po- równaD. Koszt sumaryczny wynosi teraz T (1, j) = n + 2(j - 3). Ostatecznie zatem n + 2(j - i - 1) dla i>1, T (i, j) = (1) n + 2(j - i - 1) - 2 dla i=1. Aby policzy [redni zBo|ono[ algorytmu, nale|y teraz zsumowa wszystkie T (i, j) dla 1 i < j n (z równymi wagami, bo ka|dy cig  czyli ka|d par transponowanych indeksów i, j  uznajemy za równo prawdopodobn), i podzieli przez ilo[ ró|nych cigów, n czyli . Zatem 2 n-1 n n n-1 n S = T (i, j) = (n + 2(j - 1 - 1) - 2) + (n + 2(j - i - 1)) = i=1 j=i+1 j=2 i=2 j=i+1 n-1 n = (n + 2(j - i - 1)) - 2(n - 1) = i=1 j=i+1 ëø öø n-1 n íø = (n - 2i - 2)(n - i) + 2 jøø - 2(n - 1) = i=1 j=i+1 n-1 (n + i + 1)(n - i) = (n - 2i - 2)(n - i) + 2 - 2(n - 1) = 2 i=1 n-1 = ((n - i)(2n - i - 1)) - 2(n - 1) = i=1 n-1 = (2n2 - n + i(1 - 3n) + i2) - 2(n - 1) = i=1 n-1 n-1 = (2n2 - n)(n - 1) + (1 - 3n) i + i2 - 2(n - 1) = i=1 i=1 (n - 1)n (n - 1)n(2n - 1) = (2n2 - n)(n - 1) + (1 - 3n) + - 2(n - 1) = 2 6 5 3 4 = n3 - n2 - n + 2. (2) 6 2 3 Zrednia zBo|ono[ wynosi zatem 2S 5 S(n) = n, (3) n(n + 1) 3 gdzie pominli[my wyrazy ni|szych rzdów. 2

Wyszukiwarka

Podobne podstrony:
AiSD lista 3, zadanie 6
AiSD przykladowe zadania
Zadania lista 6 Renty wieczyste
zadania lista 6 rozrachunki z pracownikami
Matematyka III (Ćw) Lista 03 Równania rzędu drugiego sprowadzalne do równań rzędu pierwszego Z
Zadania na AiSD uaktualnione

więcej podobnych podstron