N.B.: Le proprietà dei grafi non si prestano quasi mai a dimostrazioni per induzione.
Definizioni e glossario
Il grado di un nodo è il numero di archi collegati ad esso. In un grafo orientato esiste il grado uscente, cioè il numero di archi che partono dal nodo, e il grado entrante, cioè il numero di archi che entrano nel nodo.
Tipi di grafi
In un grafo non diretto non orientato (o semplicemente grafo), un arco è un insieme che rappresenta il collegamento tra due vertici.
In un grafo diretto o orientato, un arco è una coppia ordinata che rappresenta il collegamento (orientato) tra due vertici.
Un grafo si dice aciclico se partendo da un qualsiasi nodo non possiamo tornare ad esso ripercorrendo gli archi del grafo.
Un grafo diretto senza cicli si dice DAG (Directed Acyclic Graph).
N.B.: Un DAG ha sempre almeno una sorgente.
N.B.: In un DAG ogni nodo è una componente connessa.
Un grafo si dice planare se può essere disegnato sul piano senza che gli archi si intersechino.
Ogni grafo orientato ha un grafo trasposto che ha gli stessi nodi di ma con la direzione degli archi invertita.
Un grafo pesato è un grafo dove ogni arco ha un valore numerico associato.
Ogni grafo ha un grafo complementare che ha gli stessi nodi di ma gli archi .
Un arco si dice cappio se collega un nodo a se stesso. I grafi senza cappi si dicono grafi semplici.
Alberi
Un grafo è un albero non orientato se e solo se è un grafo:
- non orientato,
- connesso,
- aciclico.
Un grafo è un albero orientato se e solo se è un grafo:
- orientato,
- con radice unica,
- aciclico,
- per cui tra due nodi distinti esiste un cammino unico.
Tipi di nodi
In un grafo orientato, un pozzo è un nodo senza archi uscenti.
In un grafo orientato, un pozzo universale è un pozzo che riceve un arco da ogni altro nodo.
In un grafo orientato, una sorgente è un nodo senza archi entranti. In ogni grafo aciclico c’è NECESSARIAMENTE una sorgente.
Vedi:
Componenti connesse
Un cammino è una sequenza di nodi dove è un arco del grafo.
Due vertici si dicono connessi se esiste un cammino che li collega.
Una componente connessa è un insieme massimo di nodi connessi fra loro. Le componenti connesse partizionano i nodi dei grafi non orientati.
Per sapere in a quale componente appartiene ogni nodo, si usa una lista delle componenti connesse, i cui indici rappresentano i nodi del grafo e gli elementi corrispondenti rappresentano l’identificatore univoco della componente connessa.
Un grafo si dice connesso se ha una sola componente connessa, altrimenti si dice disconnesso.
Un punto di articolazione è un nodo la cui rimozione sconnette il grafo.
Una componente fortemente commessa (SCC) di un grafo orientato è un sottoinsieme massimo di nodi tale che per ogni coppia di nodi e appartenenti alla componente esiste un cammino orientato da a e un altro da a . Le componenti connesse partizionano i nodi dei grafi orientati.
- algoritmo per calcolare la componente fortemente connessa di un nodo in un grafo orientato
- algoritmo di Kosaraju per trovare le componenti fortemente connesse in un grafo orientato
Ponti
Un ponte è un arco la cui rimozione sconnette il grafo.
I ponti rappresentano punti di vulnerabilità di una rete: dei collegamenti singoli la cui interruzione causerebbe la separazione della rete in due parti connesse.
Il numero massimo di ponti che un grafo può avere è , cioè tutti gli archi. Ciò si verifica nel caso degli alberi.
Distanze
La distanza tra due e del grafo è il numero minimo di archi da attraversare per andare dall’uno all’altro nodo.
Il diametro del grafo è la massima distanza possibile tra due nodi qualsiasi del grafo. È il percorso più lungo che si può trovare all’interno del grafo.
Notazione standard e proprietà asintotiche
è definito nella notazione standard come il numero di vertici (), mentre è il numero di archi ().
Per ogni grafo vale , in particolare:
-
per un grafo sparso (notazione O-grande)
-
per un grafo denso (notazione Omega)
-
Per un albero vale .
-
Per un grado planare con vale il teorema di Eulero, cioè .