Rozsądny i nierozsądny czas działania

Podobne dokumenty
Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 1 Algorytmy sortowania (27.02.

Analiza numeryczna Kurs INP002009W. Wykład 1 Narzędzia matematyczne. Karol Tarnowski A-1 p.223

STATYSTYKA I ANALIZA DANYCH

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13. Ciągi.

3. Regresja liniowa Założenia dotyczące modelu regresji liniowej

Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych

Ćwiczenia nr 5. TEMATYKA: Regresja liniowa dla prostej i płaszczyzny

Elementy modelowania matematycznego

Stwierdzenie 1. Jeżeli ciąg ma granicę, to jest ona określona jednoznacznie (żaden ciąg nie może mieć dwóch różnych granic).

Ciągi liczbowe wykład 3

a 1, a 2, a 3,..., a n,...

Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 3 Algorytmy grafowe ( )

Metrologia: miary dokładności. dr inż. Paweł Zalewski Akademia Morska w Szczecinie

Wektory Funkcje rzeczywiste wielu. Matematyka Studium doktoranckie KAE SGH Semestr letni 2008/2009 R. Łochowski

Estymacja przedziałowa

Prawdopodobieństwo i statystyka

STATYSTYKA OPISOWA WYKŁAD 1 i 2

Jarosław Wróblewski Analiza Matematyczna A1, zima 2011/12. Kresy zbiorów. x Z M R

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Podstawy Informatyki. Sprawność algorytmów

Rekursja 2. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

KADD Metoda najmniejszych kwadratów

Jarosław Wróblewski Analiza Matematyczna 1, zima 2016/17

EGZAMIN MATURALNY Z INFORMATYKI

Przykładowe zadania dla poziomu rozszerzonego

Systemy operacyjne

Modele tendencji rozwojowej STATYSTYKA OPISOWA. Dr Alina Gleska. Instytut Matematyki WE PP. 18 listopada 2017

X i. X = 1 n. i=1. wartość tej statystyki nazywana jest wartością średnią empiryczną i oznaczamy ją symbolem x, przy czym x = 1. (X i X) 2.

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2014/15. n = Rozwiązanie: Stosując wzór na wartość współczynnika dwumianowego otrzymujemy

Damian Doroba. Ciągi. 1. Pierwsza z granic powinna wydawać się oczywista. Jako przykład może służyć: lim n = lim n 1 2 = lim.

ZAGADNIENIE ESTYMACJI. ESTYMACJA PUNKTOWA I PRZEDZIAŁOWA

O pewnych zastosowaniach rachunku różniczkowego funkcji dwóch zmiennych w ekonomii

ma rozkład złożony Poissona z oczekiwaną liczbą szkód równą λ i rozkładem wartości pojedynczej szkody takim, że Pr( Y

Algorytmy i struktury danych

Podstawy opracowania wyników pomiarów z elementami analizy niepewności pomiarowych

Technologie Informacyjne

1.3. Największa liczba naturalna (bez znaku) zapisana w dwóch bajtach to a) b) 210 c) d) 32767

PODSTAWY OPRACOWANIA WYNIKÓW POMIARÓW Z ELEMENTAMI ANALIZY NIEPEWNOŚCI POMIAROWYCH

Lista 6. Estymacja punktowa

Elementy rach. macierzowego Materiały pomocnicze do MES Strona 1 z 7. Elementy rachunku macierzowego

Wzór Taylora. Matematyka Studium doktoranckie KAE SGH Semestr letni 2008/2009 R. Łochowski

Wykład 11. a, b G a b = b a,

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2014/15. n 4n n 1

Miary położenia (tendencji centralnej) to tzw. miary przeciętne charakteryzujące średni lub typowy poziom wartości cechy.

Prawdopodobieństwo i statystyka r.

Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych.

Analiza matematyczna. Robert Rałowski

Metody badania zbieżności/rozbieżności ciągów liczbowych

3. Tworzenie próby, błąd przypadkowy (próbkowania) 5. Błąd standardowy średniej arytmetycznej

Korelacja i regresja. Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych. Wykład 12

Estymacja. Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych. Wykład 7

STATYSTYKA MATEMATYCZNA

Podstawy opracowania wyników pomiarów z elementami analizy niepewności pomiarowych (w zakresie materiału przedstawionego na wykładzie organizacyjnym)

TESTY LOSOWOŚCI. Badanie losowości próby - test serii.

Charakterystyki liczbowe zmiennych losowych: wartość oczekiwana i wariancja

Jarosław Wróblewski Analiza Matematyczna 1, zima 2016/ n 333))

Relacje rekurencyjne. będzie następująco zdefiniowanym ciągiem:

Egzamin maturalny z informatyki Poziom rozszerzony część I

Parametryzacja rozwiązań układu równań

Projektowanie i Analiza Algorytmów

Trzeba pokazać, że dla każdego c 0 c Mc 0. ) = oraz det( ) det( ) det( ) jest macierzą idempotentną? Proszę odpowiedzieć w

Zasady analizy algorytmów

8. Optymalizacja decyzji inwestycyjnych

a) symbole logiczne (wspólne dla wszystkich języków) zmienne przedmiotowe: x, y, z, stałe logiczne:,,,,,, symbole techniczne: (, )

Laboratorium Sensorów i Pomiarów Wielkości Nieelektrycznych. Ćwiczenie nr 1

Analiza dokładności pomiaru, względnego rozkładu egzytancji widmowej źródeł światła, dokonanego przy użyciu spektroradiometru kompaktowego

Elementy statystyki opisowej Izolda Gorgol wyciąg z prezentacji (wykład I)

Analiza wyników symulacji i rzeczywistego pomiaru zmian napięcia ładowanego kondensatora

Wokół testu Studenta 1. Wprowadzenie Rozkłady prawdopodobieństwa występujące w testowaniu hipotez dotyczących rozkładów normalnych

Zadania z analizy matematycznej - sem. I Szeregi liczbowe

PRZEDZIAŁY UFNOŚCI. Niech θ - nieznany parametr rozkładu cechy X. Niech α będzie liczbą z przedziału (0, 1).

d wymiarowy wektor losowy Niech (Ω, S, P) przestrzeń probabilistyczna Definicja Odwzorowanie X: Ω R nazywamy 1-wymiarowym wektorem

Analiza numeryczna. Stanisław Lewanowicz. Aproksymacja funkcji

MACIERZE STOCHASTYCZNE

Zdarzenia losowe, definicja prawdopodobieństwa, zmienne losowe

Wykład. Inwestycja. Inwestycje. Inwestowanie. Działalność inwestycyjna. Inwestycja

STATYSTYKA OPISOWA PODSTAWOWE WZORY

2.1. Studium przypadku 1

PODSTAWY BIOSTATYSTYKI ĆWICZENIA

MINIMALIZACJA PUSTYCH PRZEBIEGÓW PRZEZ ŚRODKI TRANSPORTU

1 Układy równań liniowych

Miary rozproszenia. Miary położenia. Wariancja. Średnia. Dla danych indywidualnych: Dla danych indywidualnych: s 2 = 1 n. (x i x) 2. x i.

1. Analiza algorytmów przypomnienie

Katalog wymagań programowych z matematyki od absolwenta II klasy (poziom rozszerzony).

Elementy nieliniowe w modelach obwodowych oznaczamy przy pomocy symboli graficznych i opisu parametru nieliniowego. C N

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Wstęp do programowania

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Miary położenia. Miary rozproszenia. Średnia. Wariancja. Dla danych indywidualnych: Dla danych indywidualnych: s 2 = 1 n. (x i x) 2. x i.

3 Arytmetyka. 3.1 Zbiory liczbowe.

Informatyka Stosowana-egzamin z Analizy Matematycznej Każde zadanie należy rozwiązać na oddzielnej, podpisanej kartce!

3. Funkcje elementarne

x t 1 (x) o 1 : x s 3 (x) Tym samym S(3) = {id 3,o 1,o 2,s 1,s 2,s 3 }. W zbiorze S(n) definiujemy działanie wzorem

Podprzestrzenie macierzowe

Prawdopodobieństwo i statystyka r.

Efektywność algorytmów

Ekonomia matematyczna 2-2

Podprzestrzenie macierzowe

Matematyczne Podstawy Informatyki

RÓWNANIA RÓŻNICZKOWE WYKŁAD 11

Transkrypt:

ZŁOŻONOŚĆ OBLICZENIOWA Wyzaczaie złożoości obliczeiowej dokładej i asymptotyczej Złożoość obliczeiowa algorytmów Chcemy podać miarodają oceę efektywości algorytmu, abstrahując od komputera, techiki (języka) programowaia, szczegółów techiczych implemetacji. W tym celu dążymy do podaia zależości fukcyjej wiążącej złożoość (pracochłoość) algorytmu z rozmiarem problemu. Dlatego defiiujemy astępujące pojęcia: Operacja podstawowa pozwala oceić złożoość czasową algorytmu, abstrahując od komputera i języka programowaia (czas wykoaia ie jest miarodajy). Na ogół jest to operacja wykoywaa ajczęściej (ajbardziej zagieżdżoa w strukturze algorytmu). Złożoość obliczeiową algorytmu wiążemy ze złożoością jego ajbardziej czasochłoego fragmetu. Rozmiar daych wejściowych Krotość wykoaia operacji podstawowej Z = f( Rozsądy i ierozsądy czas działaia W aalizie złożoości algorytmów mamy do czyieia z dwoma kategoriami fukcji wiążących rozmiar daych wejściowych z czasem wykoaia algorytmu. fukcje rozsąde (wielomiaowe) problemy algorytmicze łatwo rozwiązywale: lo,, lo,, 3, k fukcje ierozsąde (iewielomiaowe, wykładicze i poadwykładicze) problemy algorytmicze trudo rozwiązywale: lo,, 3, k,!, Mówimy tak mimo oczywistej względości tych problemów. Np. rozsądy algorytm k, k=0 ma gorszą złożoość obliczeiową iż ierozsądy algorytm k, k=1,05 dla rozmiaru problemu <334. Jedakże zawsze zajdziemy taką wartość graiczą rozmiaru problemu obliczeiowego, dla której algorytm trudo rozwiązywaly będzie rozwiązyway dłużej iż algorytm łatwo rozwiązywaly. Problem ułożeia 4 puzzli (x): (14)(4)(34)(44) = 4!4 4 = 6144 wariaty W ajgorszym przypadku dla puzzli jest do sprawdzeia!4 przypadków ( ilość puzzli) Problem ułożeia 9 puzzli (3x3): (14)(4)(34)... (84) (94) = 9!4 9 = 95 miliardów wariatów Gdyby puzzli było 5 (tylko 5x5) to do sprawdzeia będzie już: (14)(4)(34)... (44)(54) = 5!4 5 = liczba 41-cyfrowa

Rys. 1. Porówaie wartości osiągaych przez fukcje wielomiaowe i wykładicze Rys.. Porówaie wartości osiągaych przez fukcje wielomiaowe i wykładicze

Rzędy wielkości fukcji, rzędy złożoości obliczeiowej, symbole oszacowań asymptotyczych (otacja Ladaua) Poiższe otacje opisują asymptotycze zachowaie fukcji. a) Notacja duże O Określa ograiczeie fukcji od góry. Fukcja f( jest rzędu, gdy istieje dodatia wartość stałej c dla której począwszy od pewej wartości 0 wartości fukcji f( c. Zapisujemy to jako f(=o() (moża także używać zapisu f(o()) p: Rys. 3. Ograiczeie góre fukcji - otacja O( lo = O( lo) 3 +5+1 = O( 3 ) Zależość pomiędzy fukcjami f i g moża wyzaczyć obliczając graicę ich ilorazu: f( = O() gdy lim c 0 Notacja małe o Określa ograiczeie fukcji od góry. Fukcja f( jest rzędu, gdy istieje dodatia wartość stałej c dla której począwszy od pewej wartości 0 wartości fukcji f( < c. Zapisujemy to jako f(=o() p: = o( 1/ = o(1) Zależość pomiędzy fukcjami f i g moża wyzaczyć obliczając graicę ich ilorazu: f( = o() gdy lim 0 b) Notacja Określa ograiczeie fukcji od dołu. Fukcja f( jest rzędu, gdy istieje dodatia wartość stałej c dla której począwszy od pewej wartości 0 wartości fukcji f( c. Zapisujemy to jako f(=()

p: 3 = ( ) +1 = ( ) Rys. 4. Ograiczeie dole fukcji - otacja Zależość pomiędzy fukcjami f i g moża wyzaczyć obliczając graicę ich ilorazu: Notacja mała f( = () gdy lim g ( ) Określa ograiczeie fukcji od dołu. lub lim c 0 Fukcja f( jest rzędu, gdy istieje dodatia wartość stałej c dla której począwszy od pewej wartości 0 wartości fukcji f( > c. Zapisujemy to jako f(=() p: 3 = ( ) = ( l() Zależość pomiędzy fukcjami f i g moża wyzaczyć obliczając graicę ich ilorazu: c) Notacja f( = () gdy lim g ( ) Określa ograiczeie fukcji zarówo od dołu jak i od góry. Fukcja f( jest rzędu, gdy istieją takie dodatie wartości stałych c 1 i c dla których począwszy od pewej wartości 0 wartości fukcji f( c 1 i zarazem f( c. Zapisujemy to jako f(= () p: 3 3 + 5 = ( 3 ) (1+1/ = (1) Rys. 5. Ograiczeie góre i dole fukcji - otacja

Zależość pomiędzy fukcjami f i g moża wyzaczyć obliczając graicę ich ilorazu: f( = () gdy lim c 0 Rząd złożoości obliczeiowej jest ajważiejszym czyikiem określającym przydatość algorytmu. Podsumowując: dla f( = O() lim g ( ) dla f( = o() lim 0 dla f( = () lim 0 dla f( = () lim g ( ) dla f( = () 0 lim Wzajeme zależości otacji oszacowań asymptotyczych Tab. 1. Klasy fukcji opisujących złożoość obliczeiową algorytmów Klasa fukcji Typ fukcji Przykładowe fukcje subliiowa wielomiaowa f(=( c ) c>0 iewielomiaowa stała f(=o(1) polilogarytmicza f(=(1) i f(=(log c, c>0 liiowa f(=( quasi-liiowa f(=( i f(=o( log kwadratowa f(= ( ) superwielomiaowa f(=( c ) i f(=o(d ), c>0, d>1 wykładicza f(=(e ) i f(=o(f ) e>1, f>1 superwykładicza f(=(c ) c>1 si(, 1/ lolo), log (, 3(1+1/ lo, lolo), (-1)+3 lo, e, 3,!,

Fukcje polilogarytmicze spotyka się przy aalizie algorytmów rówoległych. Fukcje quasi-liiowe i kwadratowe określają złożoość obliczeiową algorytmów sortujących. Fukcje iewielomiaowe spotyka się przy rozwiązywaiu trudych problemów kombiatoryczych. Algorytmy iewielomiaowe są użytecze tylko dla bardzo małych wartości Właściwości relacji asymptotyczych Jeżeli f(=o() i = (h() to f(=o(h() Jeżeli f(= (p() i = (q() to f( = (p( q() Jeżeli f(=o() to f(+= () Jeżeli f(=o() i = (h() to f(+= (h() Kategorie złożoości Kategorie złożoości opisuje się otacją. Dowola fukcja ależąca do pewej kategorii fukcji może ją (kategorię) reprezetować. Na ogół kategorię fukcji reprezetuje ajprostsza fukcja ależąca do iej. Dlatego kategorię fukcji liiowych reprezetuje fukcja (. Właściwości rzędów wielkości fukcji f( = O() = (f() f( = () = (f() dowola fukcja ależąca do pewej kategorii fukcji może ją reprezetować Jeżeli a>1 i b>1 log a ( = (log b ( i kategorię tę możemy reprezetować przez fukcję (lo) wszystkie fukcje logarytmicze ależą do tej samej kategorii złożoości Jeżeli a>1 i b>1 a = o(b ) ie wszystkie fukcje wykładicze ależą do tej samej kategorii złożoości Dla każdego a>0 a = o(!) fukcja! jest gorsza obliczeiowo od dowolej fukcji wykładiczej Jeżeli c0 i d>0 oraz f( = O() i h( = () cf( + dh( = () Dla podstawowych kategorii złożoości: (lo), (, (lo), ( ), ( a ), ( b ), (c ), (d ), (!), ( ) b>a> i d>c>1 fukcja leżąca a prawo jest ograiczeiem górym kategorii sąsiediej z lewej stroy f l ( = o(g p ()

Wykorzystaie graic do określeia rzędu fukcji c to lim 0 to to reguła L Hospitala ( ), o( ) ( ) dla c 0 Jeżeli fukcje f( i są różiczkowale i ich pochode wyoszą f ( i g ( oraz jeżeli to Przykład: lim lim f '( lim lim g'( Czy f(= 3 l(=o( )? 3 l( l( 1 / lim lim lim lim lim 1 /( H 0 TAK Przykłady Przyspieszaie algorytmu badającego plaarość grafu Poiższa tabela prezetuje efekty polepszaia złożoości algorytmu, a co za tym idzie zmiay klasy fukcji opisującej jego złożoość. Tab.. Przykład postępu jaki dokoał się w dziedziie projektowaia algorytmów badaia plaarości grafu Rok opracowaia algorytmu Złożoość algorytmu Czas obliczeń dla grafu o =100 wierzchołkach 1930 O( 6 ) 35 lat 4 1963 O( 3 ) godz. 48 mi. 18 1967 O( ) 100 s 77 1971 O( lo) 7 s 643 1974 O( 1 s 6000 Rozmiar aalizowaego grafu możliwy do weryfikacji w czasie 1 miuty

Zwiększaie mocy komputerów a złożoość obliczeiowa Tab. 3. Wpływ poprawy szybkości komputerów a zwiększeie rozmiarów problemów algorytmiczych możliwych do rozwiązaia w zadaym czasie Moc obliczeiowa komputera 1Gflops (10 9 ), 1985 1 Tflops (10 1 ), 1997 1 Pflops (10 15 ), 008 1 sekuda 1godzia 1 rok złożoość obliczeiowa!!! s =3,110 4 s =9 s =1 g =1,810 6 g =41 g =15 r =1,710 8 r =54 r =18 3 s 1,33 s 1,17 s 3 g 1,4 g 1,13 g 3 r 1,18 r 1,11 r 1000 s 1,67 s 1,4 s 1000 g 1,48 g 1,33 g 1000 r 1,36 r 1,8 r wg listy TOP 500 (500 ajszybszych superkomputerów) MilkyWay ajszybszy superkomputer a świecie w czerwcu 014. Składa się z 48 000 koprocesorów Itel Xeo Phi oraz 3 000 procesorów Itel Xeo i działa ze szczytową wydajośc3ią 54,9 petaflopsów (54,9 biliarda operacji zmieoprzecikowych a sekudę) Suway ajszybszy superkomputer a świecie w czerwcu 016. Działa ze szczytową wydajością 15,4 petaflopsów (15,4 biliarda operacji zmieoprzecikowych a sekudę) Moc obliczeiowa komputera a typ fukcji złożoości algorytmu Tab. 4. Porówaie czasów obliczeń algorytmów: wielomiaowego i liiowego dla tego samego problemu wykoywaych a superkomputerze i komputerze domowym rozmiar problemu algorytm 1 wielomiaowy: 3 3 s (3 s dla problemu o rozmiarze =1) superkomputer złożoość obliczeiowa algorytmu czas obliczeń 10 3 s 0,1 s 100 3 ms 1 s 1000 3 s 10 s algorytm liiowy: 10 7 s (10 ms dla problemu o rozmiarze =1) 10 4 50 mi. 1 mi. 40 s komputer PC 10 6 95 lat godz. 47 mi.

Złożoość czasowa algorytmów operacja podstawowa pozwala oceić złożoość czasową algorytmu, abstrahując od komputera i języka programowaia (czas wykoaia ie jest miarodajy). Na ogół jest to operacja wykoywaa ajczęściej. rozmiar daych wejściowych pesymistycza złożoość obliczeiowa złożoość obliczeiowa dla ajgorszego przypadku wystąpieia daych wejściowych W( = max(t() ID (I jest elemetem zbioru daych o rozmiarze t( jest liczbą operacji wykoywaych przez algorytm a daych I optymistycza złożoość obliczeiowa złożoość obliczeiowa dla ajlepszego przypadku wystąpieia daych wejściowych w( = mi(t() oczekiwaa złożoość obliczeiowa bierzemy pod uwagę prawdopodobieństwo występowaia różych przypadków daych wejściowych. Często ajgorszy przypadek pojawia się bardzo rzadko. Dlatego istotiejsze jest rozważaie przypadku średiego. A( = p ( t( ID p( jest prawdopodobieństwem występowaia daych I Gdy W(=A( to algorytm jest iewrażliwy czasowo, a jego złożoość czasowa zależy tylko od rozmiaru daych. Przykład: Wyszukiwaie elemetu w tablicy operacja podstawowa: porówaie elemetu z koleją wartością w tablicy rozmiar daych wejściowych: pesymistycza złożoość obliczeiowa: W( = max( i) = = ( (ostati elemet) i1.. optymistycza złożoość obliczeiowa: w( = mi( ) = 1 = (1) (pierwszy elemet) i i 1.. oczekiwaa złożoość obliczeiowa: 1 1 1 ( 1) A( = p( t( = i = i = i1 i1 i 1 (średio połowa listy będzie przejrzaa) = 1 = (

Wrażliwość algorytmów Określa a ile fukcje W( i A( są reprezetatywe dla wszystkich daych wejściowych. wrażliwość pesymistycza (ajgorszego przypadku): ( = max(t(i 1 )-t(i )) I 1,I D wrażliwość oczekiwaa (średiego przypadku): ( = ( t( A( w p( ID ( jest odchyleiem stadardowym zmieej losowej w( jest wariacją zmieej losowej A( = p( t( jest oczekiwaą złożoością obliczeiową i1 Im większe wartości ( i (, tym day algorytm jest bardziej wrażliwy a dae wejściowe. Przykład c.d.: Wyszukiwaie elemetu w tablicy c.d. wrażliwość pesymistycza: ( = max(t(i 1 )-t(i )) = t(-t(1) = -1 (w ajgorszym przypadku elemet jest a ostatiej pozycji a liście, w ajlepszym przypadku jest a pierwszej pozycji a liście) wrażliwość oczekiwaa: ( = ( A( I D t p( 1 1 = i i1 1 = 0,9 1 1 algorytm jest wrażliwy a dae wejściowe Złożoość pamięciowa algorytmów Przez złożoość pamięciową defiiujemy liczbę komórek pamięci iezbędą do realizacji algorytmu. Dla większości problemów algorytmiczych złożoość pamięciowa ma miejsze zaczeie iż złożoość czasowa. Pamięć wykorzystywaą przez algorytm dzielimy a pamięć zawierającą dae wejściowe i pamięć dodatkową (pomociczą) wykorzystywaą przez algorytm do orgaizacji obliczeń. Jeżeli pamięć dodatkowa ie zależy od rozmiaru daych wejściowych to algorytm taki azywamy działającym w miejscu (i place).

Dla złożoości pamięciowej także moża mówić o: pesymistyczej złożoości pamięciowej złożoości pamięciowej ajgorszego przypadku oczekiwaej złożoości pamięciowej złożoości pamięciowej średiego przypadku Często dla różych wersji daego algorytmu złożoości czasowa i pamięciowa są do siebie odwrotie proporcjoale. Dla wielu problemów algorytmiczych istieje rówowaga pomiędzy złożoością czasową i pamięciową, tz. że moża zmiejszyć złożoość czasową kosztem zwiększeia zapotrzebowaia a pamięć i vice-versa.