Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Computer Programming Languages >> Content
Hoe te converteren Recursief om iteratief
recursieve algoritmen zijn die algoritmen die zichzelf kunnen noemen als onderdeel van hun oplossing . Deze functies werken vaak op problemen die een reeks identieke sub - problemen , zoals boom traversal of faculteit berekening bevatten . Herhaaldelijk bellen dezelfde functie over en kan het werk langzaam te maken, ook al is het misschien te maken codering eenvoudiger . Om uitvoeringssnelheid verhogen kunnen recursieve algoritmen , zoals de faculteit algoritme opnieuw , in een iets ingewikkelder iteratief algoritme lussen die veel sneller wordt uitgevoerd . Instructies
1

Analyseer de recursieve algoritme . In dit voorbeeld , krijgt u de recursieve oplossing voor de faculteit probleem gebruiken :

int
faculteit ( int feit ) {

if ( feit == 0 ) { return 1 ; } else { return feit * faculteit ( feit - 1 ) ; } } kopen van 2

Bepaal of elke functie argumenten kunnen worden gehouden in variabelen . In de faculteit voorbeeld kunnen de resultaten van de faculteit in een variabele " total_factorial " worden opgeslagen voor de duur van elke iteratie . Dit voorbeeld toont de recursieve faculteit algoritme en de variabele te gebruiken voor de recursieve argument :

int total_factorial = 0 :
3

Bepaal een lus structuur . In C + + , bijvoorbeeld de lus "terwijl" werkt goed met iteraties een indeterminant lengte hebben . " Voor " lussen , anderzijds , goed werken als een lus gaat een strikte duur vertegenwoordigd door een geheel getal van een soort. Voor de faculteit zal bijvoorbeeld een lus "voor" goed te werken :

int factoriële = 5 ; int total_factorial = 0 ;
4

Bepaal stoppen voorwaarden . Meestal , zoals in de faculteit voorbeeld zal de recursie opgeheven wanneer aan een voorwaarde is voldaan . In een iteratieve lus , zoals de lus , het helpt om te weten voor de hand . Omdat je weet dat het vinden van de faculteit van een getal " n" dat je n - 1 keer ( afgezien van nul ) zal herhalen , kunt u beginnen op een en lopen tot de faculteit nummer :

for (int i = 1 ; i < = faculteit ; i + + ) { if ( i == 1 ) { total_factorial = 1 ; } else { totaal factoriële * = i ; } }

Previous: Next:
  Computer Programming Languages
·Hoe te Tortoise CVS Install 
·Hoe kan ik een . Exe exportere…
·Hoe kan ik een string omzetten…
·Definitie van een callback fun…
·Hoe kan ik een alias in AIX Ve…
·Hoe maak je een MSI-bestand be…
·Hoe te TSQL Vervang 
·Hoe de DataGrid bewerken Metho…
·Waar is de Flasher op een 2004…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·De PHP Redirect Functie 
·Developer Tools voor Apple Xcode 
·JavaScript : Redirect naar Pagina 
·Hoe te openen Gadget Documenten 
·Het automatisch laden Beeldscherm fouten…
·Tutorial voor SQL in VB 
·Hoe om te leren C + + Inheritance Snel 
·Hoe maak je een quiz maken met willekeur…
·ActiveX Component Tutorial 
Copyright © Computer Kennis http://www.nldit.com