ALG6

ALG6



56 Rozdział 3. Analiza sprawności algorytmów

jest intuicyjnie bardzo proste, dalej będziemy używać właśnie tego nieprecyzyjnego określenia w miejsce rozwlekłych wyjaśnień cytowanych powyżej.

Powróćmy jeszcze do przykładu przytoczonego na samym początku tego rozdziału. Nieprzygotowany Czytelnik wadząc stwierdzenia: „czas wykonania programu równy 12 lat’1 ma prawo się nieco obruszyć - czy to jest w ogóle możliwe?! W istocie, w miarę rozwoju techniki mamy do czynienia z coraz szybszymi komputerami i być może kiedyś 12 lat mogło być nawet prawdą, ale obecnie?

Niestety, trzeba podkreślić, żc podany czas wcale nie jest tak przerażająco długi... Proszę spojrzeć na tabelę 3-1. Zawiera ona krótkie zestawienie czasów wykonania algorytmów przy następujących założeniach:

•    niech elementarny czas wykonania wynosi jedną mikrosekundę;

•    niech pewien algorytm A ma złożoność obliczeniową 0 równą n! Wówczas dla danej wejściowej o rozmiarze ,v i klasy algorytmu n! czas wykonania programu jest proporcjonalny do */).

Przy powyższych założeniach można otrzymać zacytowane w tabelce wyniki1 -dość szokujące, zwłaszcza jeśli spojrzymy na ostatnie jej pozycje.

Teraz każdy sceptyk powinien przyznać należyte miejsce dziedzinie wiedzy pozwalającej uniknąć nużącego, kilkusetwiecznego oczekiwania na efekt zadziałania programu...

10

20

30

40

50

60

n

0,00001 s

0.000

02s

0,000 03 s

0.000 04 s

0.000 05 s

0,000 06

nJ

0,000 1 s

0.000 4s

0,000 09 s

0,001 6s

0,002 5 s

0,003 6s

n3

0,001 s

0,008 s

0.027 s

0,064 s

0,125 s

0,216 s

2"

0,001 s

1.0 s

17.9 min

12,7 dni

35.7 lat

366 w

3"

0.59 s

58 min

6,5 lat

3855 w

200 • 106 w

1,3* 1013 w

n!

.1,6 s

768 w

8.4-1016 w

2.6*101’w

9,6* lO"8 w

2,6 10“ w


Tabela 3 - /.

Czasy wykonania programów dla algorytmów różnej klasy.

Aby dobrze

zrozumieć mechanizmy obliczeniowe używane przy analizie złożoności algorytmów, zgłębimy wspólnie kilka charakterystycznych przykładów obliczeniowych. Nowe pojęcia związane z obliczaniem złożoności obliczeniowej algoryt-

1

Oznaczenia: s-sekunda, w-wiek.


Wyszukiwarka

Podobne podstrony:
ALG6 66 Rozdział 3. Analiza sprawności algorytmów return pos; else    //element zost
ALG6 76 Rozdział 3. Analiza sprawności algorytmów Analogicznie dla 2 otrzymamy: Vn > 1, A(n,2) =
ALG4 54 Rozdział 3. Analiza sprawności algorytmów Tematyką tego rozdziału jest tzw. złożoność oblic
Alg0 60 Rozdział 3. Analiza sprawności algorytmów •    Znak graficzny 3 należy czyta
ALG2 52 Rozdział 3. Analiza sprawności algorytmów Rys. 3 -
ALG4 64 Rozdział 3. Analiza sprawności algorytmów3.4. Przykład 3: Wpadamy w pułapkę Zadania z dwóch
ALG8 68 Rozdział 3. Analiza sprawności algorytmów3.6. Nowe zadanie: uprościć obliczenia! Nic sposób
ALG0 70 Rozdział 3. Analiza sprawności algorytmów Przykład: SRL=xn-3x„.i+2 x„ -2=0 daje
ALG2 72 Rozdział 3. Analiza sprawności algorytmówn o) = i, i = A + O, A =    1. Po t
ALG4 74 Rozdział 3. Analiza sprawności algorytmów • funkcja d(n) musi spełniać następującą własność
ALG8 78___Rozdział 3 Analiza sprawności algorytmówZad. 3-4 Proszę rozwiązać następujące równanie
ALG2 12 PrzedmowaRozdział 3 Analiza sprawności algorytmów Przegląd najpopularniejszych i najprostsz
ALG6 46_ _ Rozdział2. Rekurencja rekurencyjnych jest pamięcioźerność: wielokrotne wywołania rekuren
ALG3 Rozdział 3Analiza sprawności algorytmów Podstawowe kryteria pozwalające na wybór właściwego al
ALG8 58Rozdział 3. Analiza sprawności algorytmów konania programu zależy od danej wejściowej n? W l
ALG6 86 Rozdział 4. Algorytmy sortowania zamiany sąsiadujących ze sobą elementów, a druga będzie wy
ALG6 106 Rozdziała. Strukturydanjt 5.1 będzie ich fuzją. Rekurencyjny zapis tego procesu jest bardz

więcej podobnych podstron