|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Vad är rekursion i Programmering

    I datorprogrammering , inträffar rekursion när en funktion eller procedur - med andra ord , en sekvens av instruktioner för att utföra en viss funktion - kallar sig , antingen direkt eller indirekt ? . Den funktion eller procedur ändrar värdet på parametern ( er ) som skickas till den första gången det kallas och kallar sig med det nya värdet ( s ) . Faktorförsök

    Det klassiska exemplet på rekursion innebär computing faktorförsök . En fakultet är produkten av ett givet positivt heltal multiplicerat med all lägre heltal . Fakulteten av 5 är 5 * 4 * 3 * 2 * 1 , är fakulteten för 4 4 * 3 * 2 * 1 och så vidare. Fakulteten av valfritt antal är lika med det numret multiplicerat med fakulteten av antalet omedelbart under den. Med andra ord är faktoriell ( 5 ) samma som 5 * faktoriell ( 4 ) , faktoriell ( 4 ) är samma som 4 * faktoriell ( 3 ) och så vidare , så en enkel faktoriell funktion skulle kunna skrivas som:

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

    problemet med denna enkla funktion , dock är att den inte har någon bas fallet , eller tillstånd att berätta det när du ska sluta . Som det ser ut , skulle funktionen fortsätter att kalla sig när n nått noll och därefter in negativa tal , återvänder meningslösa faktorförsök . I verkligheten behöver en faktoriell funktion att sluta när n = 1 , så en riktig faktoriell funktion kan skrivas som :

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

    på engelska , undersöker funktionen numret skickas till den som en parameter och , om antalet är 1 returnerar 1 . Annars returnerar funktionen multipliceras talet med fakulteten av antalet minus ett .
    Program Stack

    Alla rekursiva program måste ha en nedre punkt , eller bas fall , där verksamheten är så trivialt att ett svar kan returneras direkt . Rekursion fungerar genom att lägga till , eller skjuta , och att ta bort , eller popping , individuella bildrutor till och från en datastruktur som kallas ett program stack . Det finns bara en begränsad mängd utrymme på programmets stack , så , utan en bas fall skulle en rekursiv program fortsätter helt enkelt köra tills stapeln spill .
    & Nackdelar

    rekursion är svårt att förstå eftersom det inte är intuitivt och kan vid en första anblick , att involvera cirkulär eller falsk logik . Enligt IBM är rekursion sällan används av programmerare i imperativ programmering språk - som inte anger en explicit sekvens av steg för att utföra - eftersom de tror att det är långsamt och avfall utrymme . Men , om det genomförs på rätt sätt , är rekursion en kraftfull programmeringsteknik som kan effektivisera vissa programmeringsuppgifter .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Oracle Business Intelligence-verktyg
    ·Hur man öppnar en Broderbund SIG Extension
    ·Handledning för Programmeringsteknik
    ·Hur man läser filer i Scala
    ·Assemblerspråkprogrammering Verktyg
    ·Vad är CSV
    ·Extreme Programming Träning
    ·Hur man gör ett skript Stäng Itself
    ·Hur du krypterar en variabel i ColdFusion
    ·Hur man laddar ner en ny Injector
    Utvalda artiklarna
    ·Hur Ignorera en skiftlägeskänslig Input i Java
    ·Hur konvertera tecken till deras ASCII-värden i Visual…
    ·Hur man uppskatta antal buggar i kod
    ·Konvertera en cell array till en sträng
    ·Hur man drar en Five Point Star Använda Python Språk
    ·Hur du använder SSL med PHP
    ·Programmering i MS Access 2007
    ·Skillnad mellan Runtime & kompilering
    ·Hur man skapar ett installationsprogram för en Windows…
    ·Så här visar du en JPG i Visual Basic PictureBox
    Copyright © Dator Kunskap http://www.dator.xyz