Grafici
Le dipendenze di un grafico sono:
graph <- {vertices, edges}
edge <- {u, v} // u and v are vertices
vertex <- {Label}
L'etichetta di un vertice può essere implicita dalla struttura dei dati dell'implementazione, ad es. è indice all'interno di un array. I vertici dipendono dalle etichette indipendentemente dai bordi perché un singolo vertice è ancora un grafico [o un albero o una rete] a sé stante.
Logica aziendale
In un'implementazione, l'etichetta del vertice potrebbe essere utilizzata per recuperare un record. Ciò che è archiviato nel record è una questione di logica aziendale, non una proprietà di grafici. Pertanto la scelta di archiviare i bordi al vertice è soggetta all'analisi ingegneristica. Ma tutte le operazioni grafiche possono essere implementate senza farlo.
Man mano che informazioni più dettagliate vengono archiviate nei vertici, meno generale diventa l'implementazione. Memorizzare i bordi sul nodo è essenzialmente il caching e include tutti i problemi normalmente associati a qualsiasi altro processo di cache, ad es. i router e gli switch dedicano molta energia all'implementazione della logica di business per far fronte alla memorizzazione dei bordi nei nodi.
Compromessi
Più l'implementazione è matematica, più è facile ragionare. Più business piace, più alto è il limite massimo per le prestazioni finali in teoria. Tuttavia, i massimali teorici sulle prestazioni si basano sull'ottimizzazione della logica aziendale ed è più difficile che ottenere la matematica giusta.