Che cosa significa "ricorsivo" per un programma che elabora file e directory?

5

So cosa è la ricorsione nella programmazione. Capisco le basi dei sistemi di controllo delle versioni (ho usato svn che è). Ma mi sono spesso chiesto quale sia il significato di "ricorsione" o "ricorsiva" rispetto ai sistemi di controllo delle versioni.

Che cosa ha a che fare una funzione che si chiama con il lavoro con file e directory in un sistema di controllo versione?

    
posta minusSeven 23.01.2013 - 18:47
fonte

1 risposta

29

Il significato specifico di "ricorsivo" in questo contesto è "operare su una directory e il suo contenuto, incluso il contenuto di qualsiasi sottodirectory ".

La parola "ricorsivo" è usata qui, perché almeno concettualmente, questo è facilmente implementato da un algoritmo ricorsivo:

procedure check_in_directory (d : directory)
    for each entry e in d             <== recursive exit after last entry in directory
        if e is a file
            check_in_file(f)
        if e is a directory
            check_in_directory(e)     <== recursive call

La struttura ricorsiva di questa procedura corrisponde alla definizione ricorsiva di una directory:

  • Una directory contiene zero o più voci di directory

  • Una voce di directory è un file o una directory

Questo approccio: scrivere una funzione la cui struttura corrisponde alla definizione del tipo di dati che stai elaborando viene spesso definita come ricorsione strutturale .

    
risposta data 23.01.2013 - 19:00
fonte

Leggi altre domande sui tag