De master -methode voor herhaling , ook wel de meester stelling , berekent de middelen die nodig zijn om een recursieve algoritme , zoals de looptijd op een computer uit te voeren . De master methode maakt gebruik van wat bekend staat als Big O notatie om het asymptotisch gedrag van functies , wat betekent hoe snel ze groeien naar hun limiet te beschrijven . Verdeel en heers Een recursieve algoritme kan worden onderverdeeld in sub - problemen , met behulp van de " verdeel en heers " strategie . Elk van deze sub - problemen vertakt vanaf het oorspronkelijke probleem en kan worden gezien als een knooppunt . Voor de meester stelling , worden deze knooppunten genoemd n /b , waarbij n de grootte van het oorspronkelijke probleem en b het aantal stukken waarin het gebroken , aangenomen even groot zijn . Van elk van deze knooppunten , kan kindknopen aftakken , die op hun beurt kunnen ook worden aangepakt met een tegelijk met de verdeel en heers strategie . Meester Stelling de master stelling werkt voor recursieve algoritmen T ( n ) , waarbij T ( n ) = aT ( n /b ) + f ( n ) en T (1 ) = c , zodat er een beginwaarde van waaruit het genereren recursie . Een voorbeeld is T ( n ) = 2T ( n /4 ) + n ^ 2 . De master stelling categoriseert dan het algoritme in een categorie met andere algoritmen die dezelfde hoeveelheid werk te nemen . Gevallen die niet onder De master stelling kan niet worden gebruikt als T ( n ) is een monotone , zoals zonde n . Een dergelijke functie niet ervaren groei , dat is waarom het is een monotoon genoemd . f ( n ) moet een polynoom , bijvoorbeeld een 2x ^ 3 + 3x + 4 , in tegenstelling tot functies zoals 2 ^ n . b moet minstens 2 , en een moet ten minste 1 , en c moet positief zijn . Voorbeeld T ( n ) = 8T ( n /2 ) + 1000n ^ 2 T Shirts ( n ) = theta ( n ^ ( log_base_b a ) a = 8 b = 2 T ) op Twitter ( n ) = theta ( n ^ 3 ) op Twitter dit vertelt ons dat deze recursieve algoritme behoort tot het type n ^ 3 , en zal dezelfde looptijd hebben als andere algoritmen in die categorie . < br >
|