Differenza tra ricorsione e iterazione

Differenza chiave: nella programmazione, la ricorsione può essere spiegata considerando una funzione ricorsiva. Una funzione ricorsiva è quella che si chiama di nuovo per ripetere il codice. D'altra parte, l'iterazione è ottenuta da una funzione iterativa che esegue il loop per ripetere alcune sezioni del codice.

Nella programmazione, ricorsione e iterazione sono entrambi utilizzati per ottenere ripetizioni. Si riferiscono a un processo che viene ripetuto numerose volte. La ricorsione si basa su un approccio in cui qualcosa si riferisce a se stesso fino a quando una condizione non viene soddisfatta. Si dice che un metodo sia ricorsivo se può chiamarsi direttamente o indirettamente come -

nome del vuoto ()

{

... nome() ...

}

o

nome del vuoto ()

{

... gioco () ...

}

gioco void () {

... nome() ...

}

Per una ricorsione riuscita, è necessario tenere presente che ogni chiamata effettuata nel processo di ricorsione deve semplificare il calcolo. La ricorsione si ottiene definendo un caso base.

int factorial (int N)

{

se (N == 0) restituisce 1;

altro ritorno (N * fattoriale (N-1));

}

In questo esempio, la ricorsione può essere facilmente vista nell'istruzione (N * factorial (N-1)), dove chiama di nuovo la funzione fattoriale. La ricorsione è molto utile in quanto aiuta a ridurre il codice. Tuttavia, la ricorsione è un po 'lenta nelle prestazioni.

L'iterazione è basata su cicli. Questi cicli si riferiscono a processi di iterazione espliciti. Per soddisfare il requisito di un ciclo, deve avere un tipo di criterio che interrompa l'iterazione. Tuttavia, se il test della condizione del ciclo non diventa mai falso, allora in quella condizione il verificarsi di un ciclo infinito è inevitabile. In questo esempio, fattoriale viene determinato utilizzando il processo di iterazione:

funzione fattoriale (n)

{

var loop, result;

risultato = 1;

for (ciclo = 1; ciclo <= n; anello ++)

{

risultato = risultato * ciclo;

}

ritorno risultato;

}

In questo esempio, il ciclo si ottiene utilizzando gli interi da 1 an, e l'istruzione loop <= n viene utilizzata come criterio per interrompere il ciclo successivo. Quindi, possiamo concludere che gli stessi risultati possono essere ottenuti usando una ricorsione e un'iterazione. Tuttavia, entrambi sono basati su approcci che sono leggermente diversi. Qualsiasi algoritmo ricorsivo può anche essere scritto usando iterazioni (cicli).

Confronto tra ricorsione e iterazione:

ricorsione

Iterazione

Definizione

La ricorsione si riferisce a una funzione ricorsiva in cui si chiama nuovamente a ripetere il codice.

L'iterazione è ottenuta da una funzione iterativa che esegue il loop per ripetere alcune sezioni del codice.

Punto importante

Un caso base deve essere determinato

È necessario determinare una condizione di terminazione

Prestazione

Comparativamente lento

Comparativamente veloce

Utilizzo della memoria

Comparativamente di più

Comparativamente meno

Codice

Più piccoli

Più a lungo

Ripetizione infinita

La ricorsione infinita è in grado di arrestare il sistema in modo anomalo

Il loop infinito consuma ripetutamente i cicli della CPU

Struttura

Selezione

Ripetizione

Variabili locali

Non richiesto

necessario

Raccomandato

Articoli Correlati

  • confronti popolari: Differenza tra salsa e ballo da sala

    Differenza tra salsa e ballo da sala

    Differenza chiave: " Salsa" è una categoria di una danza ritmica cubana stilizzata con elementi di musica rock e soul. In questa coppia di ballo non abbracciare invece tenere una o entrambe le mani. D'altra parte, " Ballroom dancing" ha bisogno di una grande stanza in cui il numero di persone balla in modo formale.
  • confronti popolari: Differenza tra autore e scrittore

    Differenza tra autore e scrittore

    Differenza fondamentale: negli scritti letterari e creativi, un "autore" è colui che crea originariamente il proprio contenuto, mentre uno "scrittore" è colui che scrive qualsiasi tipo di contenuto interessato agli argomenti rilevanti a lui assegnati. In generale, le parole "autore" e "scrittore" sono sinonimi.
  • confronti popolari: Differenza tra bicarbonato di sodio e polvere di cottura

    Differenza tra bicarbonato di sodio e polvere di cottura

    Differenza fondamentale: il bicarbonato di sodio è un composto chimico utilizzato come agente lievitante nei prodotti da forno. Il lievito in polvere è generalmente solo bicarbonato mescolato con un acido. Il lievito in polvere è generalmente solo bicarbonato mescolato con un acido, solitamente una crema di tartaro e un agente essiccante, solitamente amido. I
  • confronti popolari: Differenza tra fonetica sintetica e fonetica analitica

    Differenza tra fonetica sintetica e fonetica analitica

    Differenza chiave: la fonetica è un metodo utilizzato per insegnare l'abilità della lettura. Descrive un'associazione tra lettere dell'alfabeto e suoni usati nelle nostre lingue parlate. La fonetica analitica è anche conosciuta come fonetica implicita. In questo approccio, viene eseguita principalmente l'analisi di un suono particolare all'interno di una parola o di una parola. L
  • confronti popolari: Differenza tra droghe e alcol

    Differenza tra droghe e alcol

    Differenza fondamentale: un "farmaco" è una sostanza che può avere un effetto medicinale, intossicante o di miglioramento delle prestazioni sul corpo di una persona. I farmaci possono essere utilizzati per vari scopi: medicinali, spirituali / religiosi, auto-miglioramento e ricreativo. In chimica, l'alcol è un composto organico in cui il gruppo idrossilico funzionale (-OH) è legato a un atomo di carbonio. L&
  • confronti popolari: Differenza tra Airbus e Boeing

    Differenza tra Airbus e Boeing

    Differenza principale: Airbus è una produzione di velivoli molto diffusa che è una consociata di EADS, una società aerospaziale europea. La società ha sede a Blagnac, in Francia. La Boeing Company è una multinazionale Aerospace Company and Defense Corporation che ha le sue radici negli Stati Uniti. Fu
  • confronti popolari: Differenza tra aereo e aereo

    Differenza tra aereo e aereo

    Differenza chiave: aereo e aereo sono gli stessi . Pertanto, non vi è alcuna differenza tra i due. Tuttavia, l'aereo è preferito in inglese americano e canadese, mentre l'aereo è preferito nell'inglese britannico. Alcune persone potrebbero pensare che potrebbe esserci una leggera differenza tra un aereo e un aeroplano. T
  • confronti popolari: Differenza tra Sonos e Bose

    Differenza tra Sonos e Bose

    Differenza fondamentale: Sonos è una società di elettronica di consumo di apparecchiature audio che consente lo streaming online di musica attraverso il proprio sistema musicale HiFi wireless. Bose è una società di elettronica di consumo specializzata in apparecchiature audio. Secondo Wikipedia, Bose Corporation è una società privata americana, con sede a Framingham, Massachusetts, specializzata in apparecchiature audio. È st
  • confronti popolari: Differenza tra SLR e CRR

    Differenza tra SLR e CRR

    Differenza chiave: SLR, abbreviazione, rapporto di liquidità statutaria, è il rapporto tra attività liquide rispetto alla domanda e passività temporanee. CRR, abbreviazione, Cash Reserve Ratio, anche noto come Requisito di Riserva è il rapporto minimo garantito dalla RBI. SLR e CRR sono entrambi termini bancari. Que

Scelta Del Redattore

Differenza tra seta e raso

Differenza fondamentale: la seta è una fibra proteica naturale. Viene raccolto dai bozzoli creati da alcune larve di insetti. La seta ha una consistenza morbida e liscia che non è scivolosa. Il raso, d'altra parte, non è una fibra. È una trama di tessuto. Il raso implica che il tessuto sia stato intrecciato in un particolare disegno che lascia un lato opaco del tessuto, mentre l'altro è lucido. Il