Befälhavaren metod för återfall , ofta kallad master teorem , beräknar de resurser som krävs för att utföra en rekursiv algoritm , t.ex. körning på en dator . Befälhavaren metoden använder vad som kallas Big O notation för att beskriva den asymptotiska beteendet av funktioner , dvs hur snabbt de växer mot sin gräns . Söndra och härska
En rekursiv algoritm kan delas upp i delproblem , med hjälp av " söndra och härska " strategi . Var och en av dessa delproblem grenar av från det ursprungliga problemet och kan ses som en nod . För befälhavaren theorem , dessa noder kallas n /b , där n är storleken på det ursprungliga problemet , och b är antalet bitar i vilken den är trasig, antas vara av samma storlek . Från var och en av dessa noder , kan barnnoder förgrenar sig , vilket i sin tur kan också behandlas en i taget med söndra och härska strategi . Addera Mästare Sats
det stora sats fungerar för rekursiva algoritmer T ( n ) , där T (n) = aT (n /b) + f (n ) , och T ( 1 ) = c , så att det finns ett startvärde för att generera den rekursion . Ett exempel är T ( n) = 2T ( n /4 ) + n ^ 2 . Befälhavaren teorem kategoriserar då algoritmen in i en kategori med andra algoritmer som tar samma mängd arbete . Inte Täckt
Befälhavaren sats inte kan vara
Cases användas om T ( n) är en monoton t ex sin n. . En sådan funktion inte upplever tillväxt , vilket är därför det kallas en monoton . f ( n ) måste vara ett polynom , sådan 2x ^ 3 + 3x + 4 , i motsats till funktioner som 2 ^ n . b måste vara minst 2 , och en måste vara minst 1 , och c måste vara positiv .
Exempel
T ( n ) = 8T ( n /2 ) + 1000N ^ 2
T (n) = theta ( n ^ ( log_base_b a) ) katalog
a = 8
b = 2
T ( n ) = theta ( n ^ 3 ) katalog
detta säger oss att denna rekursiva algoritm tillhör typen n ^ 3 , och kommer att ha samma körtid som andra algoritmer i den kategorin .
Addera