cos'è un grafo?
facciamo che tu voglia scrivere su un foglio tutti i nomi dei tuoi amici e vedere quanti tra loro si conoscono a vicenda.
Non è difficile, il modo più semplice graficamente è scrivere i nomi e collegare con una freccia quelli che si conoscono tra loro (lo fa anche fuckbook).
Questo è un grafo, hai un insieme Amici composto da (Marco, Maria, Pippo, ...) e una relazione, "amicizia", che li interessa a coppie (marco AMICO maria, marco AMICO pippo).
Una volta che li hai scritti sul tuo foglio puoi essere interessata a tirarne fuori un po' di dati, tipo Marco e Giuseppe non si conoscono, ma vuoi vedere se è possibile collegarli tra loro da una catena di amicizie, ad esempio Marco conosce giulia che conosce francesca che conosce Giuseppe.
Inoltre tra queste catene vuoi vedere magari qual'è la più corta.
Tatan teoria dei grafi, cazzo mi frega dirai tu? bhe utilizzando una struttura simile puoi rappresentare alcune situazioni in maniera molto più comoda (dove comoda = facilità di reperire le informazioni) rispetto ad esempio ad una tabella o ad un foglio in cui scrivi le cose a caso.
La parte interessante poi arriva quando tu non hai 10 amici, ma ne hai 300.000 e hai quindi la necessità di pensare a dei modi intelligenti per recuperare le informazioni, magari per vedere la catena di amicizie tra Marco e Giuseppe ci sono 10k di persone, come fai a trovare la catena più corta senza controllare ad uno ad uno tutte le relazioni di amicizia?
C'è chi ha teorizzato le strategie più convenienti, e sono tutt'altro che banali

Vuoi un compito a casa? Devi mettere in ordine alfabetico una lista di nomi... se sono 10 nomi come fai?
ma la strategia che utilizzeresti sarebbe accettabile su 500.000 nomi?
A me non paiono cose incomprensibili sinceramente