Un array o un vettore è solo una sequenza di valori. Possono sicuramente essere implementati con un elenco collegato. Questo è solo un mucchio di nodi con puntatori al nodo successivo.
Stack e code sono due tipi di dati astratti comunemente insegnati nei corsi Intro CS. Da qualche parte nella classe, gli studenti devono spesso implementare stack e code utilizzando un elenco collegato come struttura di dati sottostante, il che significa che siamo tornati alla stessa idea "raccolta di nodi".
Le code prioritarie possono essere create utilizzando un heap. Un heap può essere pensato come un albero con il valore minimo alla radice. Alberi di ogni tipo, inclusi BST, AVL, heap, possono essere pensati come una raccolta di nodi collegati da bordi. Questi nodi sono collegati insieme dove un nodo punta a un altro.
Sembra che ogni concetto di dati possa sempre ridursi a soli nodi con puntatori ad un altro nodo appropriato. È giusto? Se è così semplice, perché i libri di testo non spiegano che i dati sono solo un mucchio di nodi con puntatori? Come passiamo dai nodi al codice binario?