Una domanda migliore sarebbe "A cosa servono i grafici?". L'informatica è, per molti aspetti, lo studio dei grafici.
Un grafico, nei termini di un laico, è una raccolta di oggetti astratti arbitrari chiamati "nodi" o "vertici" che rappresentano punti di connessione. Sono quindi collegati tramite "percorsi" o "spigoli". Il tipo di dati astratto "Graph" è un'implementazione del "Graph" matematico. Quindi in pratica hai nodi e spigoli come i tuoi campi e le varie operazioni che puoi eseguire su di essi. Ad esempio, puoi aggiungere un nuovo nodo alla raccolta del grafico (questo potrebbe essere un elenco o un array o qualche altra struttura a seconda della lingua). È quindi possibile collegare tale nodo ai nodi esistenti. Le operazioni includeranno anche il passaggio del grafico, controllando se due nodi condividono un fronte (sono connessi), recuperando i valori da nodi o bordi e eliminando nodi o spigoli dal grafico.
Per quanto riguarda l'utilizzo, i Grafici sono usati dappertutto. Il networking ne fa un uso particolarmente pesante, ma si trova in Intelligenza Artificiale, Data Mining, Sviluppo del Gioco, Geoinformatica e una miriade di altre discipline. Nella Computer Science formale, vedono ancora più uso, vale a dire come un modo di rappresentare lo stato.
In pratica qualsiasi cosa che puoi rappresentare come un insieme di connessioni può essere rappresentata come un grafico e implementata tramite tale ADT in qualche modo.
Ecco un esempio grafico che ho realizzato: