Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Richiami di matematica discreta: grafi e alberi
Algoritmi e Programmazione Richiami di matematica discreta: grafi e alberi Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Grafi e alberi
2
Algoritmi e Programmazione
Grafi Definizione: G = (V,E) V: insieme finito e non vuoto di vertici E: insieme finito di archi, che definiscono una relazione binaria su V Grafi orientati/non orientati: orientati: arco = coppia ordinata di vertici (u, v) E e u, v V non orientati: arco = coppia non ordinata di vertici (u, v) E e u, v V A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi
3
Algoritmi e Programmazione
Grafi come modelli Dominio Vertice Arco comunicazioni telefono, computer fibra ottica, cavo circuiti porta, registro, processore filo meccanica giunto molla finanza azioni, monete transazioni trasporti aeroporto, stazione corridoio aereo, linea ferroviaria giochi posizione sulla scacchiera mossa lecita social networks persona amicizia reti neurali neurone sinapsi composti chimici molecola legame A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi
4
Esempio: grafo orientato
Cappio a b c G={V, E} V={a, b, c, d, e, f} E={(a,b),(b,b),(b,d),(b,e), (d,a),(d,e),(e,d),(f,c)} d e f NB: in alcuni contesti i cappi possono essere vietati. Se il contesto ammette i cappi, ma il grafo ne è privo, esso si dice SEMPLICE. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
5
Esempio: grafo non orientato
Cappio a b c G={V, E} V={a, b, c, d, e, f} E={(a,b),(b,b)(b,d),(b,e),(c,f)} d e f NB: in alcuni contesti i cappi possono essere vietati. Se il contesto ammette i cappi, ma il grafo ne è privo, esso si dice SEMPLICE. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
6
04 Richiami di matematica discreta - grafi e alberi
Incidenza e adiacenza Arco (a, b): incidente da vertice a incidente in vertice b incidente sui vertici a e b Vertici a e b adiacenti: a b (a, b) E a b A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
7
04 Richiami di matematica discreta - grafi e alberi
Grado di un vertice grafo non orientato: degree(a) = numero di archi incidenti grafo orientato: in_degree(a)=numero di archi entranti out_degree(a)=numero di archi uscenti degree(a)=in_degree(a) + out_degree(a). a degree(a) = 3 in_degree(a) = 2 out_degree(a) = 1 degree(a) = 3 a A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
8
Cammini e raggiungibilità
Cammino p: u p u' in G=(V,E): (v0,v1,v2,…,vk) u=v0, u'=vk, i = 1,2,…,k (vi-1,vi) E. k = lunghezza del cammino. u' è raggiungibile da u p: u p u' cammino p semplice: (v0,v1,v2,…,vk) p distinti. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
9
04 Richiami di matematica discreta - grafi e alberi
Esempio a b G = (V, E) p: a p d : (a, b), (b, c), (c, d) k = 3 d è raggiungibile da a p semplice. d c A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
10
04 Richiami di matematica discreta - grafi e alberi
Cicli Ciclo = cammino in cui v0=vk. Ciclo semplice = cammino semplice in cui v0=vk. Cappio = ciclo di lunghezza 1. Un grafo senza cicli = aciclico. cappio a b ciclo, k=4 d e A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
11
Connessione nei grafi non orientati
Grafo non orientato connesso: vi,vj V p vi p vj Componente connessa: sottografo connesso massimale (= sottoinsiemi per cui vale la proprietà che lo includono). Grafo non orientato connesso: una sola componente connessa. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
12
Connessione nei grafi orientati
Algoritmi e Programmazione Connessione nei grafi orientati Grafo orientato fortemente connesso: vi,vj V p, p’ vi p vj e vj p’ vi Componente fortemente connessa: sottografo fortemente connesso massimale. Grafo orientato fortemente connesso: una sola componente fortemente connessa. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi
13
04 Richiami di matematica discreta - grafi e alberi
Esempio a b c d e g h f A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
14
04 Richiami di matematica discreta - grafi e alberi
Grafi densi/sparsi Dato grafo G = (V, E) |V| = cardinalità dell’insieme V |E| = cardinalità dell’insieme E grafo denso: |E| |V|2 grafo sparso: |E| << |V|2 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
15
04 Richiami di matematica discreta - grafi e alberi
Grafo completo Definizione: vi, vj V (vi,vj) E grafo completo non orientato: |E| = |V|(|V|-1)/2 archi grafo completo orientato: |E| = |V|(|V|-1) archi a b c d A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
16
04 Richiami di matematica discreta - grafi e alberi
Grafo bipartito a e Definizione: Grafo non orientato in cui l’insieme V può essere partizionato in 2 sottoinsiemi V1 e V2, tali per cui (vi,vj) E vi V1 && vj V2 || vj V1 && vi V2 b f c g d A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
17
04 Richiami di matematica discreta - grafi e alberi
w : E R {-, + } w(u,v) = peso dell’arco (u, v) Grafo pesato 1 a 5 b 2 c d 4 2 1 7 4 10 e 8 g 9 h f 3 3 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
18
Alberi non radicati (o liberi)
Albero non radicato (o libero) = grafo non orientato, connesso, aciclico Foresta = grafo non orientato, aciclico A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
19
04 Richiami di matematica discreta - grafi e alberi
Proprietà G = (V, E) grafo non orientato E archi, V nodi: G = albero non radicato ogni coppia di nodi connessa da un unico cammino semplice G connesso, la rimozione di un arco lo sconnette G connesso e E = V - 1 G aciclico e E = V - 1 G aciclico, l’aggiunta di un arco introduce un ciclo. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
20
04 Richiami di matematica discreta - grafi e alberi
Alberi radicati nodo r detto radice relazione di parentela y antenato di x se y appartiene al cammino da r a x. x discendente di y antenato proprio se x y padre/figlio: nodi adiacenti radice: no padre foglie no figli A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
21
04 Richiami di matematica discreta - grafi e alberi
Esempio y antenato di x x discendente di y a padre di b b figlio di a r y a b x A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
22
Proprietà di un albero T
grado(T) = numero max di figli profondità(x) = lunghezza del cammino da r a x altezza(T) = profondità massima. Proprietà di un albero T grado 3 profondità = 0 profondità = 1 altezza h = 3 profondità = 2 profondità = 3 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
23
Rappresentazione di alberi
Rappresentazione di un nodo di un albero di grado(T) = k puntatore al padre, chiave, k puntatori ai k figli Inefficiente se solo pochi nodi hanno davvero grado k (spazio per tutti i k puntatori allocato, ma molti a NULL). al padre chiave …… k puntatori ai k figli, eventualmente a NULL A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
24
Rappresentazione left-child right-sibling
Rappresentazione di un nodo di un albero di grado(T) = k puntatore al padre, chiave, 1 puntatore al figlio sinistro, 1 puntatore al fratello a destra Efficiente: sempre solo 2 puntatori, indipendentemente dal grado dell’albero al padre chiave al primo dei fratelli a destra al primo a sinistra dei figli A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
25
04 Richiami di matematica discreta - grafi e alberi
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
26
04 Richiami di matematica discreta - grafi e alberi
Alberi binari Definizione ricorsiva: T: insieme di nodi vuoto radice, sottoalbero sinistro, sottoalbero destro. r left right A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
27
Albero binario completo
h = 3 8 foglie 15 nodi Ogni nodo: o foglia o grado = 2 Albero binario completo di altezza h: numero di foglie 2h numero di nodi = 0 i h 2i = 2h+1 –1 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
28
04 Richiami di matematica discreta - grafi e alberi
A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
29
Albero binario bilanciato
Tutti i cammini radice-foglie sono di ugual lunghezza Se T è completo, allora T è bilanciato. Albero binario bilanciato A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi
30
Albero binario quasi bilanciato
Algoritmi e Programmazione La lunghezza di tutti i cammini radice-foglie differisce al massimo di 1. Albero binario quasi bilanciato A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi
31
03 Ordinamento iterativo
Riferimenti Grafi: Cormen 5.4 Sedgewick Part Alberi: Cormen 5.5 Sedgewick 5.4 A.A. 2013/14 03 Ordinamento iterativo
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.