| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> Content
    Come convertire ricorsiva a iterativa
    algoritmi ricorsivi sono quegli algoritmi che si possono chiamare come parte della loro soluzione . Queste funzioni lavorano spesso su problemi che contengono una serie di sotto-problemi identici , come attraversamento di alberi o di calcolo fattoriale . Chiamando ripetutamente la stessa funzione più e più può rendere il lavoro lento, anche se potrebbe rendere più semplice la codifica . Per aumentare la velocità di esecuzione , è possibile ricreare algoritmi ricorsivi , come l'algoritmo fattoriale , in una leggermente più complicato algoritmo iterativo che utilizza linee che verranno eseguiti molto più velocemente . Istruzioni
    1

    Analizzare l'algoritmo ricorsivo . In questo esempio , si utilizzerà la soluzione ricorsiva per il problema fattoriale :

    int fattoriale ( int fatto ) {

    if ( fatto == 0 ) { return 1; } else { fatto ritorno * fattoriale ( fatto - 1) ; } }
    2

    decidere se eventuali argomenti delle funzioni possono essere tenuti in variabili . Nell'esempio fattoriale , i risultati del fattoriale possono essere memorizzati in una variabile " total_factorial " per la durata di ogni iterazione . Questo esempio mostra l'algoritmo fattoriale ricorsivo e la variabile da utilizzare per l'argomento ricorsiva :

    int total_factorial = 0 :
    3

    Determinare una struttura ad anello . In C + + , ad esempio , il ciclo "while " funziona bene con iterazioni che hanno una lunghezza non determinanti . " Per " loops , invece , funziona bene quando un ciclo andrà per una durata rigorosa, rappresentato da un numero intero di qualche tipo . Per l' esempio del fattoriale , un ciclo "for " funziona bene :

    int fattoriale = 5; int total_factorial = 0;
    4

    Determinare le condizioni di arresto . Solitamente , come nell'esempio fattoriale , la ricorsione terminerà quando viene soddisfatta una condizione . In un ciclo interative , come ad esempio il ciclo for , è utile conoscere prima mano. Dal momento che si sa che nel trovare il fattoriale di un numero " n" che si iterare n- 1 volte (escluso lo zero ) , è possibile avviare in una sola e correre fino a quando il numero fattoriale :

    for (int i = 1; i < = fattoriale , i + + ) {if ( i == 1) { total_factorial = 1; } else { totale fattoriale * = i; } }

    Previous :

    next :
      Articoli Correlati
    ·Come creare pagine web dinamiche con PHP 
    ·Come fare un Button in Xcode 
    ·Che cos'è il protocollo Incompatibilità 
    ·Qual è la differenza tra Visual Studio e Visual Studio…
    ·Come utilizzare Excel da un'applicazione Windows Form 
    ·Vantaggi e svantaggi del senza tipo Linguaggi di Progra…
    ·Nozioni di base di lavoro CNC 
    ·Come ospitare un ASP Web Service Net Al di fuori di IIS…
    ·Come modificare una base di codice 
    ·Sviluppo Componenti iPhone 
      Articoli in evidenza
    ·Come recuperare i parametri di ingresso e uscita per le…
    ·Come ottenere il server Data e ora per il conto alla ro…
    ·Come sostituire una casella di testo con un'altra che i…
    ·Caratteristiche di Visual Basic 
    ·Come formattare virgole in un numero in Java 
    ·Procedura: GTK Selezione colore 
    ·Come analizzare SAP in Java Logs 
    ·Come leggere le variabili da file di testo a VBScript 
    ·Funzione PHP per evidenziare parole chiave in una strin…
    ·Visual Basic 2010 Web Browser Progress Bar Tutorial 
    Copyright © Conoscenza Informatica http://it.wingwit.com