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
    Bruksområder for en rekursiv funksjon
    Rekursjon kan være en nyttig teknikk for programmerere . Rekursive funksjoner , noen ganger kalt "metoder " i språk som Java , er funksjoner som kaller seg . Det er visse situasjoner hvor rekursive funksjoner er spesielt egnet. Imidlertid kan det være vanskelig å gjennomføre en fullstendig rekursive funksjonen, slik at de bør bare benyttes der det passer. Rekursive funksjoner er ofte nyttig når du arbeider med datastrukturer og matematiske aktiviteter. Sortering

    Når programmer modell data , enten internt eller importert fra en kilde, for eksempel en database , de trenger ofte å sortere det . Noen datastrukturer er ikke bestilt , noe som betyr at elementene er ikke ordnet i rekkefølge . For eksempel kan et program inneholder en rekke med tekststrenger inni den. Hvis du vil sortere tabellen slik at tekststrenger er ordnet i stigende rekkefølge alfabetisk, kan programmet trenger å bruke en algoritme . Slå sammen slag er et eksempel på en rekursiv metode for denne prosessen. Flette sortere fungerer ved stadig å dele tabellen i to, sortering hver halvdel før sammenslåing dem tilbake til én.
    Søke

    Når programmene lagre data i datastrukturer , de ofte trenger å finne bestemte elementer med søke algoritmer , som kan ha nytte av rekursjon . For eksempel, hvis en matrise er lagring av verdier i alfabetisk rekkefølge , kan programmet bruke rekursjon til å finne ut hvilken posisjon et visst innslag er på . Binære søk innebærer programmet kontinuerlig sjekker en del midtveis i matrisen. Hvis elementet matcher den programmet er ute etter, kan det stoppe. Hvis det ikke er det aktuelle elementet , kan algoritmen sjekke om det er større eller mindre enn den søk -elementet. Dersom den er større , kan algoritmen eliminere den øvre halvdel av strukturen utover dagens element, som søket element må være i den nedre halvdel . Denne prosessen fortsetter til elementet er plassert.
    Datastrukturer

    Når de bestemmer seg algoritmer , bør programmerere spørre om en iterativ funksjon som ikke rekursive kunne løse aktiviteten så vel som en rekursiv en. For eksempel , i visse datastrukturer , vil et program trenger å søke gjennom en lineær måte før den finner et søk element . I dette tilfellet er det ingen annen utvei enn å reagere gjennom strukturen . Rekursive algoritmer forenkle oppgaven med hver iterasjon , sjekke for å se om endepunktet har kommet, så kaller funksjonen på nytt hvis den ikke har. For å demonstrere likhetene mellom rekursjon og iterasjon , viser følgende eksempel Java -metoden en rekursiv metode disposisjon : public void processNumber ( int myNum ) { if ( myNum > 100 ) tilbake; annet processNumber ( myNum * 5 ) ;}
    < p > Et alternativ iterativ implementering av dette ville være som følger : . int anum = 3 , mens ( anum < 100 ) { anum * = 5 ;}

    i dette tilfellet iterativ versjon er enklere

    med matematiske oppgaver

    Noen matematiske utføre oppgaver som er spesielt godt egnet til rekursive funksjoner . Fibonacci sekvenser demonstrere rekursiv prosessering. Hvert tall i en Fibonacci -sekvensen er summen av de to foregående. Følgende eksempel Java-kode demonstrerer en funksjon for å finne en Fibonacci-tall : public int getFibonacci ( int fNum ) { if ( fNum < = 1 ) return fNum ; else return getFibonacci ( fNum - 1 ) + getFibonacci ( fNum - 2 ); }

    metoden returnerer antall i Fibonacci -sekvensen på posisjonen som indikeres av et heltall parameter når koden kaller det, som følger: getFibonacci ( 8 ) ;
    p Dette vil returnere den åttende nummer. (Se Referanser 3 , 4, 5 )

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan avinstallerer Host Intrusion Prevention 
    ·Hvordan skrive Script Apps 
    ·Hvordan endre fokus Når du klikker en DataGrid Row 
    ·Random funksjon i COBOL 
    ·Hvordan få Blogroll nofollow 
    ·Hvordan erstatte Pascal 
    ·Hvordan skrive Rake Oppgaver 
    ·Forskjeller mellom Definere en Non -Special Medlem Funk…
    ·Slik konverterer et program til en ActiveX-kontroll 
    ·Hvordan kalibrerer jeg OSCCAL Med en PICkit2 
      Anbefalte artikler
    ·Hvordan oppdage de Hashtags i tekst i Python 
    ·Slik pakker du ut AVI Metadata i MATLAB 
    ·Slik installerer FlexGrid Kontroll 
    ·Hvordan lage en Shoutbox Med PHP og SQL 
    ·Hvordan analysere en XML- fil 
    ·Slik søker du med Java Algoritmer 
    ·Hvordan bruker jeg en Combo Box i Visual Basic 
    ·Slik konverterer tekst til en dato i VB 
    ·Hvordan lage en IRC Bot From Scratch i Python 
    ·Alice Programmering hjelp 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/