Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Computer Programmeringsspråk >> Content
    Slik konverterer Recursive å Iterativ
    Rekursive algoritmer er disse algoritmene som kan kalle seg selv som en del av løsningen . Disse funksjonene fungerer ofte på problemer som inneholder en rekke identiske sub- problemer, som tre traversering eller fakultet beregning. Gjentatte ganger ringer samme funksjon om og om igjen kan gjøre arbeidet treg, selv om det kan gjøre koding enklere . For å øke gjennomføring hastighet , kan du gjenskape rekursive algoritmer , for eksempel fakultetet algoritmen , inn i en litt mer komplisert iterativ algoritme ved hjelp av sløyfer som utføres mye raskere . Instruksjoner
    en

    Analyser rekursiv algoritme . I dette eksempelet , vil du bruke den rekursive løsningen for fakultetet problem : en

    int fakultet ( int faktisk) {

    if ( faktisk == 0 ) {return 1; } else {return faktum * fakultet ( faktisk - 1 ); } }
    2

    Bestem om noen funksjonsargumentene kan holdes i variabler . I den faktorielle eksempel kan resultatene av den faktorielle være lagret i en variabel " total_factorial " for varigheten av en hvilken som helst iterasjon. Dette eksemplet viser den rekursive fakultetet algoritme og variabelen som skal brukes for den rekursive argument:

    int total_factorial = 0 :
    3

    Bestem en loop struktur . I C + + , for eksempel, fungerer den "mens " loop godt med iterasjoner som har en indeterminant lengde . "For" løkker , på den annen side fungerer godt når en løkke vil gå til en streng varighet , representert ved et helt tall av noe slag. For fakultetet eksempel vil en " for " loop fungere godt : en

    int fakultet = 5; int total_factorial = 0;
    4

    Bestem stanse forhold. Vanligvis, som i den faktorielle eksempel vil rekursjon opphøre når en betingelse er oppfylt . I en interative loop, slik som for loop, hjelper det å vite før hånd . Siden du vet at å finne fakultet til et tall " n " som du vil iterere n - 1 ganger ( unntatt null ) , kan du begynne på en og løpe til fakultetet nummer:

    for ( int i = 1 ; i < = fakultetet , i + + ) { if ( i == 1 ) { total_factorial = 1 ;} else { total fakultet * = i; } }

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan lage en RSS-feed fra Din ColdFusion Side 
    ·Hvordan Flett en Array hjelp QBasic 
    ·Hvordan Split en streng i to variabler i PowerShell 
    ·Hvordan Normalisering en matrise i Matlab 
    ·Hvordan oppdatere Python til 2,6 
    ·Hvordan skrive Rake Oppgaver 
    ·ASP Net Programming Tutorial 
    ·Hvordan endre en JTable Cell Color 
    ·Hva er en boolsk Type 
    ·Hva er meningen med skriptspråk 
      Anbefalte artikler
    ·Hvordan skrive ut heltall i Visual Basic 
    ·VBA koding triks 
    ·Hvordan lage en kvadratisk formel Programmet på en TI …
    ·Hvordan lage en variabel Floating Point i Python 
    ·Hvordan å sette sammen en kjørbar JAR Fil 
    ·Slik viser kolonne Beskrivelse i SQL 
    ·Hvordan Return JSON Bruke PHP 
    ·Hvordan Multipliser i Visual Basic 
    ·Hvordan erstatte Spaces i DOS Delstrenger 
    ·Hvordan få en System Date i Java 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/