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
    Hva er Rekursjon i programmering
    I dataprogrammering, oppstår rekursjon når en funksjon eller prosedyre - med andre ord , en sekvens av instruksjoner for å utføre en bestemt funksjon - kaller seg , enten direkte eller indirekte ? . Funksjonen eller prosedyren endrer verdien av parameter ( e) sendes til det første gang det kalles og kaller seg selv med den nye verdien ( e). Fakultetene

    klassisk eksempel på rekursjon innebærer databehandling fakultetene . En fakultet er produktet av et gitt positivt heltall multiplisert med alle mindre hele tall . Fakultetet av 5 er 5 * 4 * 3 * 2 * 1, er fakultetet av fire 4 * 3 * 2 * 1 og så videre . Fakultetet av et tall er lik det tallet multiplisert med fakultetet for nummeret umiddelbart under det. Med andre ord, er faktoriell ( 5) på samme måte som 5 * faktoriell (4) , faktoriell (4) er det samme som 4 * faktoriell (3) og så videre, slik at en enkel faktoriell funksjon kan skrives som:

    int fakultet ( int n ) {return n * fakultet ( n - 1 ) ;}
    Base sak

    problemet med denne enkle funksjonen , derimot , er at den har ingen base tilfellet, eller tilstanden til å fortelle når den skal stoppe. Som det står, vil funksjonen fortsette å kalle seg når n nådd null og utover i negative tall , returnerer nonsens fakultetene . I virkeligheten trenger et fakultet funksjon å stoppe når n = 1 , så en ekte fakultet funksjon kan skrives som:

    int fakultet ( int n ) { if ( n == 1 ) {return 1 ; } else {return n * fakultet ( n - 1 ); } }

    på engelsk undersøker funksjon nummeret gått til det som en parameter og , hvis tallet er 1, returnerer ett . Ellers funksjonen returnerer antall multiplisert med fakultetet for antall minus én .
    Program Stack

    Alle rekursive programmer må ha et bunnpunkt , eller base tilfelle , hvor operasjonen er så ubetydelig at et svar kan returneres direkte. Rekursjon fungerer ved å legge til eller skyve, og fjerne eller popping, enkeltbilder til og fra en datastruktur som kalles et program stack. Det er bare en begrenset mengde plass på programmet stabelen , så, uten en base case , ville en rekursiv program bare fortsetter å kjøre inntil bunken fløt .
    Pros & Cons

    Rekursjon er en vanskelig å forstå fordi det ikke er intuitivt og kan virke ved første øyekast , å involvere sirkulær eller falsk logikk. Ifølge IBM er rekursjon sjelden brukes av programmerere i imperative programmeringsspråk - som ikke angir en eksplisitt sekvens av trinn for å utføre - fordi de tror det er treg og avfall plass . Men hvis implementert riktig , er rekursjon en kraftig programmering teknikk som kan effektivisere noen programmeringsoppgaver .

    früher :

     Weiter:
      Relatert Artike
    ·Slik konverterer en e-postadresse til Hex 
    ·Slik Send en e-post vedlegg med en Command Line 
    ·Hva er Rekursjon i programmering 
    ·Hvordan øke en Vector i MATLAB 
    ·Hvordan å løse en Matrix hjelp QBasic 
    ·Hvordan legge til en fil til en MSI Med Wise 
    ·Verktøy Brukes i Software Development 
    ·Hva er UML programvare 
    ·Hvordan Pass Dynamiske Dato Variabler i SSIS 
    ·Hvordan Rediger Tid i registret med en batch fil 
      Anbefalte artikler
    ·Hva er årsaken til MySQL Overhead 
    ·Java og vilkårlige funksjoner 
    ·Hvordan skrive Open Source prosjekter 
    ·Hvordan slette Linje i en flat fil PHP 
    ·Hvordan å kompilere MySQL Workbench på CentOS 
    ·Hvordan aktivere og deaktivere en tekstboks Med Radio B…
    ·Hvordan lage en tekstboks i Visual C # 
    ·Hvordan å kompilere C-kode som Bibliotek 
    ·Hvordan lage en Bouncing Ball animasjon i HTML 
    ·Hvordan Return Addition Funksjoner for flere numre i Ja…
    Copyright ©  Datamaskin  http://www.datamaskin.biz/