Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Majster Spôsob recidívy

Hlavnou metódou pre opakovanie , často volal pán teorém , vypočíta zdroje potrebné na vykonanie rekurzívny algoritmus , ako je napríklad behu na počítači . Metóda master používa to , čo je známe ako Big O notácie popísať asymptotickej správanie funkcií , čo znamená , ako rýchlo rastú k ich obmedzeniu . Divide and Conquer

rekurzívny algoritmus možno rozdeliť do čiastkových problémov , pomocou " rozdeľ a panuj " stratégiu . Každá z týchto čiastkových problémov odbočuje z pôvodného problému a môže byť myšlienka ako uzol . Za hlavné vety , tieto uzly sa nazývajú n /b , kde n je veľkosť pôvodný problém , a b je počet kusov , do ktorej je zlomené , predpokladá sa , že rovnako veľké . Z každej z týchto uzlov , podriadené uzly môže odbočiť , čo môže byť tiež riešiť jeden po druhom sa rozdeľ a panuj stratégie .
Majster Veta

Hlavná veta pracuje rekurzívnych algoritmov T (n ) , kde T ( n) = u (n /b ) + f (n ) , a T ( 1 ) = C , tak , že je počiatočná hodnota , z ktorej sa vytvárajú rekurzia . Príkladom je T ( n) = 2T (n /4 ) + n ^ 2. Master teorém potom kategorizuje algoritmus do kategórie s inými algoritmami , ktoré berú rovnaké množstvo práce .
Prípadoch neuvedených

majster veta nemôže byť použiť v prípade , T ( n) je monotónna , ako je napríklad n sin . Takáto funkcia nepociťuje rast , čo je dôvod , prečo sa nazýva monotónna . f ( n) musí byť polynóm , napríklad 2x ^ 3 + 3x + 4 , na rozdiel od funkcie , ako je 2 ^ n b musí byť aspoň 2 , a musí byť aspoň 1 , a c musí byť pozitívna .
Príklad

T ( n) = 8T (n /2 ) + 1000N ^ 2

T ( n) = theta ( n ^ ( log_base_b ) ) Spojené

= 8

b = 2

T ( n) = theta (n ^ 3 )

To nám hovorí , že tento rekurzívny algoritmus patrí do typu n ^ 3 , a budú mať rovnakú prevádzkovú dobu ako ostatné algoritmy v tejto kategórii .


Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené