Come programmare: strutture dati, algoritmi e codici sorgente

Naviga SWZ: Home Page » Articoli
Articolo del 1512202241
Autore: Fabio Ferraro
Categoria: windows




La struttura concatenata è dinamica. Di conseguenza, i suoi elementi possono essere collocati in qualsiasi parte della memoria. Ogni suo elemento contiene oltre all´informazione un indicatore o meglio un puntatore all´elemento logicamente successivo, precedente (ambedue in alcuni casi). L´ultimo elemento, non avendo successori, avrà come puntatore il valore nullo (NULL). Quando necessario, si può generare una catena bidirezionale (una che va da sinistra verso destra e una che va da destra verso sinistra) che chiude la lista, dando come primo elemento visto da sinistra e come ultimo elemento visto quello da destra


Una semplice lista concatenata sequenziale viene esaminata, un elemento successivo all´altro.


Anche in fase di ricerca si parte dal primo elemento.


Quando si effettua un inserimento il puntatore dell´elemento precedente al nuovo da inserire punterà a quest´ultimo, mentre quello del nuovo elemento inserito punterà al successivo (nella situazione t-1) del precedente.


Per la cancellazione di un elemento si fa muovere il puntatore del suo precedente al suo successivo.


Utilissima la possibilità di poter utilizzare una lista doppia, che lavori in ambedue i sensi.


Come programmare: strutture dati, algoritmi e codici sorgente - immagine 18
Ancora meglio se vi si aggiunge la sentinella, in modo che si crei un cerchio chiuso senza NULL.
Altre strutture molto potenti e usate sono quella ad alberi binari.

Come programmare: strutture dati, algoritmi e codici sorgente - immagine 19
In questo caso abbiamo un figlio destro ed uno sinistro e la ricerca di un elemento è nettamente superiore in termini di velocità rispetto alla struttura precedente.

Come programmare: strutture dati, algoritmi e codici sorgente - immagine 20Anche gli alberi non binari sono una eccezionale forma di struttura dati concatenata.

Come programmare: strutture dati, algoritmi e codici sorgente - immagine 21Ancora più completi sono i grafi che chiudono in una maglia completa tutti gli elementi della lista concatenata.

Come programmare: strutture dati, algoritmi e codici sorgente - immagine 8
Algoritmi

Ora andremo a realizzare una serie di semplici algoritmi, necessari per comprendere la logica di programmazione e nello stesso tempo associare ad ogni variabile una tipologia di dati.



In questo caso troveremo in modo molto rudimentale quale è il massimo tra i tre numeri a,b e c.


Utilizziamo il software AlgoBuild.




Essenziale, come si vede anche nello pseudocodice generato a destra nell´ambiente di lavoro del programma, la gestione dello strumento condizionale (prima inseriamo il rombo e poi le condizioni a>b e così via).


L´algoritmo si potrebbe ottimizzare ma usando il secondo confronto si comprende meglio  lo scopo.



Terminato il tutto eseguiamo i passaggi uno per uno per verificare la correttezza del codice/algoritmo generato.




In base ai tre ingressi inseriti l´output è corretto (max=5).


Per la gestione di un vettore va usato il ciclo For.


Nel rombo del For gli argomenti vanno inseriti nel seguente modo:

       var="valore"; condizione; var=var+1




Per provare le posizioni del vettore prima abbiamo inizializzato a "0" tutti gli elementi e successivamente solo al secondo e al terzo abbiamo dato un valore diverso da "0".


Anche in questo caso eseguiamo i passi uno per uno e raggiungiamo il risultato prefissato.




« Precedente     1  2 [3] 4     Successiva »   ]

Pagine Totali: 4