Rekurencje

6
Rekurencje Rekurencja jest równaniem lub nierównością, opisującą funkcję w zależności od jej wartości dla danych wejściowych o mniejszych rozmiarach. Na przykład, czas działania T(n) algorytmu sortowania przez scalanie: 1 ), ( ) 2 / ( 2 1 ), 1 ( ) ( n jesli n n T n jesli n T Rozwiązanie tej rekurencji: T(n) = (n lg n) Ogólny wygląd równania rekurencyjnego: ) ( ) / ( ) ( n f b n aT n T

description

Rekurencje. Rekurencja jest równaniem lub nierównością, opisującą funkcję w zależności od jej wartości dla danych wejściowych o mniejszych rozmiarach. Na przykład, czas działania T ( n ) algorytmu sortowania przez scalanie:. Rozwiązanie tej rekurencji: T ( n ) = ( n lg n ) - PowerPoint PPT Presentation

Transcript of Rekurencje

Page 1: Rekurencje

Rekurencje

Rekurencja jest równaniem lub nierównością, opisującą funkcję w zależności od jej wartości dla danych wejściowych o mniejszych rozmiarach.

Na przykład, czas działania T(n) algorytmu sortowania przez scalanie:

1),()2/(2

1),1()(

njeslinnT

njeslinT

Rozwiązanie tej rekurencji: T(n) = (n lg n)

Ogólny wygląd równania rekurencyjnego:

)()/()( nfbnaTnT

Page 2: Rekurencje

Drzewa rekursji2)2/(2)( nnTnT

n2

2

nT

2

nT

n2

2

2

n 2

2

n

4

nT

4

nT

4

nT

4

nT

n2

2

2

n 2

2

n

2

4

n

2

4

n

2

4

n

2

4

nlg n

n2

2

2

1n

2

4

1n

W sumie: (n2)

Page 3: Rekurencje

Drzewa rekursjinnTnTnT )3/2()3/()(

Najdłuższą ścieżką od korzenia do liścia jest n (2/3)n (2/3)2n … 1.

(2/3)kn = 1, gdy k = log3/2n, więc wysokość drzewa wynosi log3/2n.

n

3

n

3

n2

9

n

9

n2

9

n2

9

n4lg n

n

W sumie: (n lg n)

n

n

Page 4: Rekurencje

Czas działania Quicksort

Najgorszy przypadek podziałów: (n2)

Najlepszy przypadek podziałów: (n lg n)

Czas działania w średnim przypadku zbliżony jest do najlepszego: (nlgn)

n

n-11

n-21

12

1 1

n

n

n

n-1

3

2

(n2)Najgorszy przypadek

lg n

n

n/2 n/2

n/4 n/4 n/4 n/4

1 1 1 1 1 1 1 1

n

n

nn

n

(n lg n)Najlepszy przypadek

Page 5: Rekurencje

Metoda rekurencji uniwersalnej

Niech a 1, b > 1, T(n) zdefiniowane przez rekurencję

)()/()( nfbnaTnT

T(n) może być ograniczona asymptotycznie w następujący sposób.

1. Jeśli )()( log abnOnf dla pewnej stałej > 0, to )()( log abnOnT

2. Jeśli

3. Jeśli

),()( log abnnf to

))(()( nfnT

)()( log abnnf dla pewnej stałej > 0 i jeśli af(n/b) cf(n)

dla pewnej stałej c > 1 i wszystkich dostatecznie dużych n, to

)lg()( log nnnT ab

Page 6: Rekurencje

PrzykładynnTnT )3/(9)(

)( 29loglog 3 nnn ab 11),()( 9log3 przypadekgdzienOnf

)()( 2nnT

1)3/2()( nTnT

101loglog 2/3 nnn ab 2)1()()( log przypadeknnf ab

)(lg)( nnT

nnnTnT lg)4/(3)(

)( 793,03loglog 4 nOnn ab 3;2,0),()( 3log4 przypadekgdziennf

)lg()( nnnT