ebook img

Alberi N-ari PDF

50 Pages·2013·0.27 MB·Italian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Alberi N-ari

Laboratorio di Algoritmi e Strutture Dati Alberi n-nari Teresa M.A. Basile – [email protected] – Dipartimento di Informatica Università degli Studi di Bari “Aldo Moro” Materiale di base gentilmente concesso dal dott. Nicola Di Mauro 1 Sintesi Modulo Teoria Alberi n-ari: Specifica Sintattica e Semantica ● Rappresentazione ● mediante vettore (di padri) ● [per ogni nodo (indice) --> riferimento al padre (contenuto)] mediante liste di figli ● mediante liste collegate ● Esercizi proposti: ● Algoritmi di Visita: pre-ordine, post-ordine, simmetrica ● Realizzazione di MFSET - insiemi disgiunti - basata su alberi ● (foreste) 2 SSPPEECCIIFFIICCAA TTiippii: albero=insieme degli alberi ordinati T=<N,A> in cui ad ogni nodo n in N è associato il livello(n); boolean=insieme dei valori di verità; nodo=insieme qualsiasi (non infinito). OOppeerraattoorrii: fi CCRREEAAAALLBBEERROO: ( ) albero CCRREEAAAALLBBEERROO = T' L POST: T'= (ALBERO VUOTO) fi AALLBBEERROOVVUUOOTTOO: (albero) boolean AALLBBEERROOVVUUOOTTOO((TT)) = b L POST: b=VERO SE T= b=FALSO, ALTRIMENTI fi IINNSSRRAADDIICCEE: (nodo, albero) albero IINNSSRRAADDIICCEE((uu,, TT)) = T' L PRE: T= POST: T'=(N,A), N={u}, LIV(u)=0, A=Ø 3 fi RRAADDIICCEE: (albero) nodo RRAADDIICCEE((TT)) =u „L PRE: T (cid:222) POST: u E’ RADICE DI T LIV(u)=0 fi PPAADDRREE: (nodo, albero) nodo PPAADDRREE((uu,, TT)) =v „L ˛ PRE: T , u N, LIV(u)>0 ˛ POST: v È PADRE DI u, <v,u> A, LIV(u)=LIV (v)+1 fi FFOOGGLLIIAA: (nodo, albero) boolean FFOOGGLLIIAA((uu,, TT)) =b „L ˛ PRE: T , u N (cid:216)$ ˛ ’ ˛ POST: b=VERO SE v N  ’ <u,v> A E LIV(v)=LIV(u)+1 b=FALSO, ALTRIMENTI fi PPRRIIMMOOFFIIGGLLIIOO: (nodo, albero) nodo PPRRIIMMOOFFIIGGLLIIOO((uu,, TT)) =v „L ˛ PRE: T , u N, FOGLIA(u, T)=FALSO ˛ POST: <u,v> A, LIV (v)=LIV (u)+1 v È PRIMO IN BASE ALLA RELAZIONE D’ORDINE STABILITA TRA I FIGLI DI u 4 fi UULLTTIIMMOOFFRRAATTEELLLLOO: (nodo, albero) boolean UULLTTIIMMOOFFRRAATTEELLLLOO((uu,, TT)) =b „L ˛ PRE: T , u N POST: b=VERO SE NON ESISTONO ALTRI FRATELLI DI u CHE LO SEGUONO NELLA RELAZIONE D’ORDINE b=FALSO, ALTRIMENTI fi SSUUCCCCFFRRAATTEELLLLOO: (nodo, albero) nodo SSUUCCCCFFRRAATTEELLLLOO((uu,, TT)) =v „L ˛ PRE: T , u N, ULTIMOFRATELLO(u, T)=FALSO POST: v È IL FRATELLO DI u CHE LO SEGUE NELLA RELAZIONE D’ORDINE fi IINNSSPPRRIIMMOOSSOOTTTTOOAALLBBEERROO:(nodo,albero,albero) albero IINNSSPPRRIIMMOOSSOOTTTTOOAALLBBEERROO((uu,, TT,, TT'')) =T'' „L „L ˛ PRE: T , T ' , u N POST: T'' È OTTENUTO DA T AGGIUNGENDO L’ALBERO T' LA CUI RADICE r' È IL NUOVO PRIMOFIGLIO DI u fi IINNSSSSOOTTTTOOAALLBBEERROO: (nodo, albero, albero) albero IINNSSSSOOTTTTOOAALLBBEERROO((uu,, TT,, TT'')) =T'' „L „L ˛ PRE: T , T ' , u N, u NON È RADICE DI T POST: T'' È L’ALBERO OTTENUTO DA T AGGIUNGENDO IL SOTTOALBERO T' DI RADICE r' (CIOÈ r' DIVENTA IL NUOVO FRATELLO CHE SEGUE u) 5 IINNSSEERRIIMMEENNTTII r ' r a b x y c d INSPRIMOSOTTOALBERO(a,T,T') INSSOTTOALBERO(a,T,T') r r a a ' r b b ' r c d c d x y x y 6 fi CCAANNCCSSOOTTTTOOAALLBBEERROO: (nodo, albero) albero CCAANNCCSSOOTTTTOOAALLBBEERROO((uu,, TT)) =T' „L ˛ PRE: T , u N POST: T' È OTTENUTO DA T TOGLIENDOVI IL SOTTOALBERO DI RADICE u (CIOÈ u E TUTTI I SUOI DISCENDENTI) CANCSOTTOALBERO(b,T) r r a b c a c e f g d d 7 ANCHE PER L’ALBERO N-ARIO SONO UTILI DUE OPERATORI PER ETICHETTARE I NODI E PER LEGGERE L’INFORMAZIONE ASSOCIATA SSPPEECCIIFFIICCHHEE TTiippii:: VVaa aaggggiiuunnttoo TTIIPPOOEELLEEMM ddeell ttiippoo ddeellll’’eettiicchheettttaa LLEEGGGGIINNOODDOO: (NODO,ALBERO)  TIPOELEM LLEEGGGGIINNOODDOO ((nn,,TT)) == aa ˛ PRE: n E’ UN NODO DI T, n N POST: a E’ IL VALORE ASSOCIATO AL NODO n IN T fi SSCCRRIIVVIINNOODDOO: (TIPOELEM,NODO,ALBERO) ALBERO SSCCRRIIVVIINNOODDOO ((aa,,nn,,TT)) == TT'' ˛ PRE: n E’ UN NODO DI T, n N POST: T' E’ IL NUOVO ALBERO CORRISPONDENTE AL VECCHIO T CON IL NUOVO VALORE a ASSEGNATO AL NODO n 8 Rappresentazione di Alberi (n-ari) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 figlio (relazione logica, rappresentata in modo indiretto) figlio primogenito fratello padre 9 9 RREEAALLIIZZZZAAZZIIOONNEE CCOONN VVEETTTTOORREE DDII PPAADDRRII 1 1 0 2 1 2 3 2 4 2 5 4 3 3 6 4 7 4 8 4 5 6 7 8 rappresentazione con liste di figli 1 ˘ 2 2 ˘ 3 3 4 4 ˘ 5 5 … 6 7 10

Description:
Algoritmi e Strutture Dati. Alberi n-nari. Teresa M.A. Basile. – [email protected] –. Dipartimento di Informatica. Università degli Studi di Bari “Aldo Moro
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.