data-structuresIniziare con le strutture dati


Osservazioni

Questa sezione fornisce una panoramica di quali sono le strutture dati e perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare tutti i soggetti di grandi dimensioni all'interno delle strutture dati e collegarsi agli argomenti correlati. Poiché la documentazione per le strutture dati è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Array: una struttura dati semplice

Una struttura dati dell'array viene utilizzata per memorizzare oggetti simili (o valori di dati) in un blocco contiguo di memoria. La struttura dei dati dell'array ha una dimensione fissa, che determina il numero di valori dei dati che possono essere memorizzati al suo interno.


Array: The C ++ Way

Nel linguaggio di programmazione C ++, possiamo dichiarare un array statico come segue

int arrayName[100];
 

Qui abbiamo dichiarato un array denominato "nomeArray" che può contenere fino a 100 valori, tutti dello stesso tipo, che è un numero intero.

Ora discuteremo alcuni vantaggi e svantaggi di questa struttura dei dati

  1. Possiamo accedere ai valori dei dati memorizzati nella matrice in tempo costante, ovvero la complessità temporale è O (1) . Quindi, se vogliamo accedere al valore di dati memorizzato nella posizione i-esima, non è necessario partire dalla posizione iniziale e passare alla posizione i-esima, ma possiamo passare direttamente alla posizione i-th risparmiando così tempo di calcolo.
  2. L'inserimento di un elemento nel mezzo di un array non è un'attività efficiente. Supponiamo di voler aggiungere un nuovo elemento nell'array in posizione i-esima, quindi dobbiamo prima spostare tutti gli elementi in posizione (i-th) e (i + 1 th) per creare spazio per un nuovo elemento. Esempio: 1 4 2 0 è un array con 4 elementi, ora vogliamo inserire 3 in 2a posizione, quindi dobbiamo spostare 4,2 e 0 una posizione ulteriormente per creare spazio per 3.
  1 3 4 2 0
 
  1. Analogamente all'inserimento dell'elemento, anche la cancellazione di un elemento da una posizione i-esima in un array non è efficiente poiché abbiamo bisogno di spostare tutti gli elementi davanti all'elemento cancellato di 1 blocco per riempire lo spazio vuoto creato dal cancellato elemento.

Queste sono 3 semplici caratteristiche di un array, Qui si potrebbe credere che l'array non sia una struttura dati efficiente, ma in pratica, il vantaggio di un array può superare i suoi svantaggi. Ciò dipende in gran parte dal tipo di scopo che si desidera servire, potrebbe essere possibile che non si desideri inserire o eliminare l'elemento tutte le volte che si desidera accedervi, in tal caso, una matrice è una struttura dati assolutamente perfetta.

L'unico scopo dell'introduzione di questa struttura dati è quello di assicurarti di non scegliere la struttura dei dati in base al numero di vantaggi e svantaggi, ma dovresti sempre cercare di analizzare l'importanza della struttura dei dati considerando il tuo problema in mente, ad esempio, se trascorrerai molto tempo ad accedere ai valori dei dati rispetto a inserirli o eliminarli, in tal caso, dobbiamo dare più peso al vantaggio rispetto allo svantaggio.

Introduzione alle strutture dati

Una struttura dati è un modo di organizzare e archiviare informazioni.

Lascia un "Ciao, Mondo!" string essere le informazioni che abbiamo bisogno di organizzare e archiviare in memoria indirizzabile per byte.

Ogni carattere ASCII richiede 7 bit di memoria. La maggior parte dei sistemi riserva 8 bit (1 byte) per ogni carattere, quindi ogni carattere in "Hello, World!" è memorizzato in un'unità di memoria di dimensioni individuali, una dopo l'altra, consecutivamente.

Abbiamo bisogno di un singolo riferimento alla nostra stringa anche se si estende su più indirizzi di memoria, quindi usiamo l'indirizzo del primo carattere nella stringa, 'H'. È possibile accedere a tutti gli altri caratteri all'indirizzo 'H' + all'indice di quel personaggio usando caratteri con indice zero.

Vogliamo stampare la nostra stringa, "Hello, World!" Conosciamo il suo indirizzo in memoria, che forniamo alla funzione di stampa, ma come fa la funzione di stampa a sapere di non stampare più posizioni di memoria consecutive? Un approccio comune è quello di aggiungere il carattere null, '\ 0', alla stringa. Quando la funzione di stampa incontra il carattere nullo, sa che ha raggiunto la fine della stringa.

Abbiamo definito un modo di organizzare e archiviare la nostra stringa, ovvero una struttura dati! Questa struttura di dati molto semplice è un array di caratteri con terminazione null, che è un modo per organizzare e memorizzare una stringa.