Sei sulla pagina 1di 16
-orzezziue8i0,1 ojeaneu nid opour ur areyuasauddes sayod vp 180. -jopour sad rouopr nid pusumas ojund v axayaUI oLeSsAdOU aYDUE Os—4 Q -ord tap extssafduroo erjap areitoume, UoD -aiua!oysns OyeFoAu Q 1s uOU OYSaNb PY jumureiosdonos 1p aypayonqiq atidoud is1ea19 1p eysmjafoud ye opuayauuzad 39 -1p0> ountsapow |: HuAraYp orZeNyS v areAEpe Ip vjjanb “ cod azourayqa bun onopontn ey ajempacoid auorzeusesSoad eyjap euiBtpered (1 aquaureasssaoong Ip auorzuDsap Pj axiodunors 1p euigissod e] aypue ouo1}0 eu -pia or8SenSur[ un ut ruorzn.Ast ns warssoadso ezudjod eudoad e] OUOPUOS O10S LOU 2UD 0 TF e08ed IF “1Oqo0 ‘ueNIOg IF enb ‘oyear, ow pe r8FenBuq| Neu |s0> OUDS J! a}wemp opopoid jep opwoweusapoure je 3 ouDUUORUELL ‘Busey [19 o1p0o [op auorzezzoa4 & -oid vy 4steue J ouorsoaur ayp ‘eurusesBeud jap auorznpasd ve \gord tp tssepp anp areiuoyy 1p auorznpoad e] Jad ‘arpjoonaed uy Je BnAop ouos Js ossajduo9 oyour axes turesSioud f9p aUOISUOU ETT O}Os Ip eyeAGT wy ouwsa vy JUMP aquawepayfesea, vssawaud LIWG SYNLLNYLS AT ne dei dati e superare linguaggio Questa nuova imposti dalle strutture dati standard fornite dal jione della programmazione, che focalizza B evidente, comunque, che ogni teoria che si prefigga Yobiettivo di fornire s rent sofisticati per la risoluzione di problemi deve inevitabilmente passare traverso un processo di che consenta di 0, connaturato con il modo di operare del strumenti pid importanti per gestire la complessita in due aree di = T'analisi e la comprensione di tutto cid che permette di descrivere una si- tuazione reale; la risoluzione dei problemi ci con tale situazione. La prima area riguarda nienti dall’ambiente del problema to potente, specie nella fase di scomposi- a complesso in sottoproblemi pitt semplici e dai contorni mag- ¢giormente del Queste astrazioni concettuali devono poi essere adattate ai modell informatici previ- sti dagli strumenti software a disposizione (strutture dati, procedure, ecc.) che, a 10 volta, rappresentano delle astrazioni concettuali delle strutture concrete pre nella macchina (bit, byte ecc) Appare evidente a questo punto che rst pet ogni problema, lo sirumento software pit i pit aderenti, in modo da facilitare del problema, ma nel contempo adattarsi to efficiente. Anche se nel primo volume si & prestata, per evidenti motivi attenzione alla progettazione ed implementazione di algoritmi, senza spingere troppo oltre I'analisi delle strutture dati che di volta in volta venivano utilizzate, con I’aumentare della complessita dei problemi, sono state proposte delle s ni che imponevano, sia in fase di analisi e progettazione sia in fase di real del programma, di aggregare i dati in strutture organizzate quali il vettore, la ma- trice ed il record. giche proprie delle strutture dati astratte pitt importanti LA STRUTTURA ASTRATTA DI PILA Proposta di lavoro 1 ‘Un centro di studi statistici della regione Piemonte, in occasione di una ri- ‘cerca sull'inquinamento da rumore nella citta di Cuneo, incarica un addetto di effettuare tna serie di rilevazioni in uma determinata zona della citta ‘A questo scopo viene fornia all'addetto una cartina relativa al ‘operare e un pacco di questionari vie su cui 2 cui lasciare il questionario da compilare. warieato staccherd dal questionario un tagliando su cui verranno annotate le generalita I'indirizzo della famiglia prescelta, in mo- do da poterla facilmente reperire al momento del ritiro del questionario compilat. ‘Come conviene organizzare i tagliandi di riscontro in modo da ridurre al ‘minimo il tempo necessario per il rtiro dei questionari? Risposta Data la particolare configurazione del percorso, Yaddetto potra operare in base ad tuno dei seguenti crteri consegnare nella mattinata tutti i questionari, fermarsi alla fine del percorso ‘@ mangiare e poi ripercorrere aritroso la strada ritirando via via i questionari compilati; una via laterale e, dopo una sosta presso ultimo itirare gli stessi ripercorrendo allindietro la via, prima di ri- Prendere il percorso sulla strada principale. La scelta dell'uno 0 dell‘altro metodo dipende ovviamente da diversi fattori, tra i ‘quali riveste particolare importanza la lunghezza del questionario. Infati, se il que- stionario richiede un tempo di compilazione relativamente breve (da 20 minutia mezz'ora), pud essere pili comodo il secondo sistema, mentre se il questionario @ Piuttosto lungo, i tempi complessivi di attesa potrebbero risultare troppo onerosi e sarebbe, quindi, da preferire la prima ipotesi Qualunque sia ta scelta, comunque, Vaddetto dovra avere a disposizione uno stru- mento idoneo per conservare i tagliandi di controllo in modo che possano poi es sere presi nell‘ordine inverso, Si pud pensare ad uno spillone, posto sul cruscotto della macchina, sul quale int zare i tagliandi di riscontro man mano che vengono consegnati i questionari e dal quale sfilarli al momento del ritio, Estraconeopap Inserimento 0 push ‘Cima della pila Last n First Oud; da. qui a di pila. I primo ad essere ilnome LIFO con cui viene spesso caratterizzata la st la struttura di pila nel caso de- A titolo di esempio vediamo come viene utilizzata la struttura - fer nella propesta di lavoro Rappresentando con leltrenominatv deg ine vistati e supponendo che essisiano dislocati lungo il percorso come in figura A contenuto della pila varierebbe nel modo seguente: Dal punto di vista astratto una struttura di questo genere, in cui le operazi serimento ed estrazione vengono effettuate dallo stesso estremo, prend pila (stack). Le caratteristiche di una pila Cima dota pila aq ceeae Hl 6 Flr 5 AA e Fondo dela pila Teo poome aceasesree 8|| |e ° ke LA STRUTTURA ASTRATTA DI CODA I Proposta di lavoro 2 Un farmacista riceve periodicamente medi scadenza e vuole progettare un nuovo tipo di vendere prima i prodotti pitt vecchi, senza dover date di scadenza su ogni confezione. Irgo consumo soggetti a tore che gli permetta llare ogni volta le Progetiate, dandone un opportuno modelo, la struttura che ritenete pid iddomea per soddisfare le esigenze del farmacista, Risposta Per assicurare al farmacista una corretta organizzazione della vendita, i contenitori progettati dovranno permettergli arrivi ad un estremo (fondo del contenitore) e prelevare le confezi ta del contenitore) Un primo model Jare completam cista, per sfruttare al massimo confezioni di medicinale, potra spostare le riman seatola, a Questa soluzione presenta perd il grosso inconveniente di farmacista a rispettare Vordine voluto nell medicinale. Una serie di piccole disattenzioni sarebbe quindi sufficiente per vanificare tut lavoro compiuto. itore potrebbe essere fornito da ur Una seconda soluzione piti sofi mile alla prececlente, in cui pe ta pud essere rappresentata da una sci viene coperta anche la parte superiore, yperture ai due estremi ed una scanalatura longitudinale che le da permettere al farmacista di far scor- del contenitore, ma non suf- yperazioni di estrazione e di inserimento. cezione per di nserimento Eatraziono avanti, in modo da porre la prima in cort tori piut- lla farmacia, rendendo F ovvio che queste continue operazioni di ricompatt tosto capient,fanno perdere parecchio tempo agli addet la struttura presentata poco pratica Per ovviare a questo inconveniente si potrebbe dotare la struttura di un semplice meccanismo a molla che effettua automaticamente, ad ogni prelievo, il compat- tamento delle scatole rimaste. Dal punto di vista astratto una struttura di quest , in cui le operazioni di in- i no fatte solo da un estremo e quelle di estrazione dall‘altro, prende (queue). Estrazione o remove Inserimentoo insert ‘Cima dela coda Fondo della coda LA STRUTTURA ASTRATTA DI LISTA Proposta di lavoro 3 Nella citta di Neuva Yorca, nel 7000 delt’era postatomica, un gr di mutanti si organiza in una setta segreta decisa a riportare la ci tecnologica in un mondo che I’ha rifiutata, Per potersi passare informazioni sui tipi di interventi da compiere e sulle date di riunione, gli adepti decidono di organizzare una catena di comuni ‘azione che, partendo dal capo spirituale, possa portare a tutti gli afi ‘suoi ordini. In questa struttura, per motivi di sicurezza, ogni adepto, caratte- izzato da un nome in codice, conosce solamente il luogo in cui depositare i ‘messaggi, in pli ti, per V’elemento successivo della catena. A capo della setta c’8 Varzok il Grande, che @ Vunico a redigere i messaggi da inviare e a decidere se un nuovo adepto pud affiliarsi oppure se uno vee- chio deve essere estromesso dalla catena. Va infine tenuto presente che anche lo stesso Varzok @ in grado di comunica- e con un solo adepto (il primo della lista), ma conosce la sequenza dei nomi in codice di tutti. Analizzare la struttura logica di questa catena evidenziando le operazioni ‘che occorre compiere nei seguenti casi viene inviato un ordine di mobilitazione generale; viene inviato un ordine personale; © lasetta acquisisce un nuovo adepto; ™ unadepto viene estromesso. lo della catena, possiamo riconoscere che esso & ca- iuogo in cui andare a prelevare i messaggi il nome in deve depositare i messaggi. la catena: Varzok, a cui josce alcun indirizzo. nessun adepto fa riferimento, e Quando Varzok invia un messaggio destinato a tutti gli affiliati, ogni adepto dovra: (©) leggere il contenuto del messaggio; \dirizzo di sua conoscenza, a meno che Quando Varzok invia lungo la catena un messaggio personale, la trasmissione av- vverra nel seguente modo: ® ogni adepto che non si riconosce nel nome in codice, passa ill anello della catena; ‘adepto destinatario legge il messaggio ed esegue gli ordini o cont reca al Tempio Mal Fe bracier Computer. In quest’ultimo caso Varzok si accorgera di cid che @ avvenuto e spegnera il braciere. Nel aso di acquisizione di un nuovo adept, cost consegner a Varzok ror greto in cui doveanno essere depositati i messaggi per lu Varzok spedira all'adepto destinato a precedere MUTxy nella catena un plico conte- nente la busta ricevuta da MUTay e il seguente messaggio: Apri la busta allegata e sostitui Porta il plico al nuovo indirizzo. Fsaminiamo infine le operazioni che vengono compiute nel caso in cui Varzok de- ida di estromettere un adepto irrequieto: ‘Yconvoca presso il Tempio Maledetto 'adepto e si fa consegnare, in busta chiusa, "indirizzo a cui portava la corrispondenza; @ “atfilato che precedeva nella catena I'adepto estromesso, la busta ri cevuta con il seguente messagio: “Sostituisciall'indirizzo che conoscevi quello contenuto nella busta allegata’. Prima di formatizzare la struttura organizzativa qui descritta, val la pena sottoli- neare alcune peculiarita che essa presenta: ‘= lastruttura @ pericolosamente fragile: infatti ésufficiente che un affiliato v 88 arrestato per impedire qualsiasi comunicazione tra i due spezzoni (climinare un anello della catena equivale ad eliminare lo seguono!); i tempo intercorrente tra Iinvio del messagy stinatario é to elevato, anche se trasms stesso palazzo: necessario far attraversare al messag; della catena che precedono il destinatario e non é previsto alcun criterio di collegamento tra i nodi per ottimizzare i tempi di trasmissione. Si potrebbe ovviare, almeno parzialmente, a questi due inconvenienti modificando leggermente la struttura, a scapito perd della segretezza. Infatti si potrebbe fornire 4 ciascun adepto, oltre all'indirizzo dell‘anello successivo, anche quello del prece- dente, in modo che i messaggi possano viaggiare in entrambe le direzioni, Inoltre, se ultimo anello della catena fosse direttamente collegato con Varzok, si potrebbe garantire anche una maggiore sicurezza s da una parte Varzok potrebbe ricevere assicura mento dei messaggi, dallaltra avrebbe la possi sliaderenti anche se un anello della catena si & spezzato. Dal punto di ‘menti sono le Sotto quest’aspetto la struttura d ppatticolare della struttura di lis do sequenziale. 16 «aso. in memoria viene fatta in mo- it poich lo spazo lbe- implementazione pero presenta una scars fessibili poiché fo spazio. Ti wma unicamente da un insieme di posizioni contigue poste a uno de ae rne consegue che linserimento di un elemento in una posizione interme richiede lo slittamento di una posizione per tutti gli elementi successivi. corretta posizione successive verso il fondo; viceversa, nel secondo | pacco di schede rimaste. spostando con la mano caso, bisognera estrarre la scheda e ricompatta i fatta ogni elemento @ costituito da due campi: il primo atto a puntatore all’elemento successivo. indy ind At Inds Aa [nd a [nds Appate evidente a questo punto che per completare il modello della struttura oc corre definire un puntatore esterno, che individ imo elemento della lista, e un valore simbolico del puntatore che individui il termine della struttura. P Puntatore dinizio lista [im ing a indy Ay [inde +f Ae [indy JL [dg Fe --—[ Ay | tw Simboi fn Hata sulta evidente dall'esempio fornito nella proposta di lavoro, le opera join una lista @ sufficiente porre nel suo campo punta- lestinato a seguirlo e aggiomare il campo puntatore mento precedente con l'indirizzo dell'elemento aggiunto. ind ind inde} -—[ A [dus tre] [A ind indy {A Tite [Aa Tints Notiamo che V'inserimento di un elemento A, da porre dopo l'elemento A, richiede tuna preventiva scansione dell Puntatore, dopo averne prelevat ‘nuovo elemento, ino ad A, in modo da aggiornare il suo campo. lore che verra posto nel campo puntatore del dalla lista sara sufficiente raggiungere 'element oe l'indirizzo contenuto nel campo puntatore P | iw indy ind indy ind, Ay [ inde} [An ind LA, ind EL Ans ind.a|---[ An | fine ind, ind, ind, hn inde k-=[ As Tndics] [% [aa bel Avr [ing]—--] A] tne fea oe Come si pud notare nella figura, elemento eliminato ha ancora un collegamento con Ia lista, ma ad ess0 non ® pitt possibile accedere in alcun modo. Cid naturalmente ray jPpresenta un grave inconveniente, poiché lo spazio occupato nti rimossi non pud essere recuperato,e quindi é conveniente costruire ismo che consenta di raccogliere gli elementi che via via si rendono di- sponibili in una nuova lista, detts i, alla quale si potra attingere per ge- nerare nuovi elementi ) i no pitt facilmente esegui ato che le operazioni di inserimento ed estrazione sono Fi In testa alla strttura, eneralmente st organiza la lista libera ALTRE STRUTTURE CONCATENATE La lista concatenata descritta nei paragrafi precedenti pud ess me abbiamo visto nella proposta di lavoro iniziale, costruire una ca- ibbiamo visto nella propos prc 0 siste un naturale “primo o “atime” nodo, mungue un puntatore eterno per acedere alla stra, per convenzion, si definisce come primo nodo della Txt quello individuato dal Punlatore estemo, La lista bidirezionale Se ciascun nodo di una lista lineare ha due campi che puntano ris Pm nodo precedente e a quello successivo, si ottiene una struttura pit flessibile chia- sata lis ‘ionale (doubly linked list). Una lista ionale @ in generale pitt facile da gestire se in essa viene definito tun nodo particolare di testa (Iieader node) che permette di circolarizzarla In questo caso access a viene fatto attraverso un unico puntatore che in- dividua questo part P_ Puntatore allheader node fina, indy ore ind, A, | eee Ao ind, | Con questa implementazione la condi: entrambi i puntatori del nodo di testa puntano. indy.» ‘uota coincide con il fatto che stesso. lineare sia una presta a modellare s fa estremamente importante, non sempre si complesse. Una prima difficolta nasce quando i singoli elementi di una lista differiscono tra lo- 10 per il numero ¢ per la dimensione delle informazioni in essi contenute (si pensi 12 casa discografica in cui ad ogni cantante fanno rife- ‘musicali delle canzoni per lui prodotte) campo informazione dovrebbe essere dimen: genze dell’elemento con mole maggiore di informazi spreco di memoria, to in rapporto alle esi- P Puntatore alta sta multipta | ind, in, irda }—+{ 4, | inde F----+| a, | itte Ag | te in2 | i Ine LA STRUTTURA ASTRATTA DI ALBERO Proposta di lavoro 4 Uno studente, in vista di un‘interrogazione di Scienze Natu iare tra gli altri argomenti il contenuto della seguente pagin: “Gli esperti pitt moderni sono oggi abbastanza d'accordo nel divider ‘vente in cingue grandi regni: MONERE (bat vertebrati. Que- 10 il subphilum di maggior interesse. Tra le classi di maggior ritieworicor- i pesci ossei, gli anit, gli ccelle i manunfert.” ‘Trovare una rappresentazione gratica che, evidenziando opportunamente le gerarchie, permetta di ricordare facilmente il contenuto della pagina presen- tata, Le caratteristiche di un albero In particolare possiamo notare che ogni nod {ranne il primo) ba un so etch emery ete nodo (tranne il prim: solo prede- lla cessore, mentre pud avere unt numero variabi on A grado G9 2) Gaenset.o- 8. e ce Ne consegue che, zero. Pit in genet /\ Sempre facendo riterimento altalbero ratfigurato nella pagina precedente, si ‘pub affermare che esso ha grado 3. ‘Ad ogni nodo é associato un altro parametro, detto La struttura gerarchica di albero & inoltre caratterizzata dalle seguenti proprieta: ‘guenti proprieta = esiste un nodo che non discende da nessun altro, detto radice (root); illivello della radice @ uguale a 1; = esistono nodi senza discendenti, det o nodi terminali; “il livello di ogni altro nodo @ pari al numero di nodi attraversati da un cam- ‘mino che unisce la radice a quel nodo (comprendendo nel computo sia la ra~ saalemy dice sia il nodo) 4) Facendo riferimento livello 2, il nod H & al lo 3, mentre il nodo L.& al lvallo 4, lo raggiunto in un albero viene detto altezza d Ibero presentato ha altezza 4) e, inoltre, se in ciascun {gnificativo Yordine in cui appaiono i nodi, V'albero si dira o Si dice foresta un insieme di n alberi disgiunti; essa pud facilmente essere derivata dda un albero radicato, sopprimendone la radice. Nel nostro esempio, rimuovendo la radice A generiamo una foresta di 3 alber! disgi Metodi di attraversamento di un albero Numerose applicazioni richiedono di esaminare hero, accedendo a ciascuno die ‘Questa operazione, che ris prende il nome di visita contenuto di tutti inodi di un al- Visita per livelli Uno dei modi pitt semplici per attraversare un albero consiste nel partire dalla ra- dice e quindi visitare da sinistra a destra tutti i nodi, livello per livello (attraversa- tento top-down). Per esempio, dato Falbero: | nodi verrebbero attraversati nel seguente ordine: A BCD EFGHIJ KLM Visita in ordine antici Con questo metodo, noto anche come fiss, dato un albero formato da una radice e da n sot ne realizzato dal seguente algoritmo ricorsivo: {sta la radice dell’albero; radice genera sottoalberi, visi pate. io charripasi che prmetiono di giungee al Beiveno | pacl compl perv na parte dllabero (a notazione ta parent gate nal saad nda il sotfoalbero avente per racice no) 1a) A AB A B E— (Kt Rie) ES BSbo KY oly) A B —€ K L ‘GAYE MEINE Kp abet FMRC) Lattraversamento in preordine dell‘albero della figura precedente da origine dun- que alla sequenza: ABEKLFCGDHMIJ Con questo metodo, noto anche come suffssi, dato un albero formato da una radice e da n sottoalb viene realizzato dal seguente algori ‘i lo le stesse con- juesto caso rappresentiamo i passi della visita utilizzan te nel paragrafo precedente ((vtodol sta ad indicare il sottoalbero avente ay (8) {) La sequenza di attraversamento quindi viene ad essere: KLEFBGCOMHIJDA Bstendendo la definizione di albero data nel paragrafo precedente al caso in cui un albero sia completamente sprovvisto di nodi (aldero ouoto), & possibile definire ri- ‘albero binario nel seguente modo: pio in figura i nod hanno i sottoalberi di destra vuot, entre | ha vuoto quello di sinistra. [Nel caso in cui ogni nodo di un albero binario sia o una foglia o una radice di due sottoalberi non vuoti, albero viene det inario, Ibero binario cosi definito nom & un caso particolare di albero, e questo = unalbero binario pud essere vuoto, mente un albero deve contenere almeno tun nodo; = ciascuno dei sottoalberi di un albero binario conserva la propria identita di stro, anche se 'altro sottoalbero & vuoto. {ase finale dei campionati mondial di calcio, pur presentan- ‘comporta la distinzione tra sottoalbero sinistro e destro € deve quindi essere considerato un semplice albero enon un albero bina, Visita di un albero binario in ordine simmetrico nel caso di alberi binari & possibile 2 cui il piu importante Lalgoritmo che realizza questo tipo di visita pud essere espresso ricorsivamente nella seguente forma © visita il sottoalbero di sinistra in ordine simmetrico; visita la radice; e © visita il sottoalbero di destra in ordine simmetrico. Facendo riferimento alla solita figura, i primi passi d ‘algoritmo sono: (8) i) ieee ate at agra), ela sequenza finale & LKEBFAMHI JD % Un esempio significative di uso degli alberibinari & quello relativo alla rappre- i binari sentazione ed interpretazione delle espressioni Equivalenza tra alberi ordinati e alberi Data un'espressione del tipo: a ad albero binario deriva fondamentalmente da due Y=A*X+(8-B"O)/(0"2) essa pud essere rappresentata da un albero binario: pero generic ec li sinistrs lo Yat &sufcente, per ogni nod, conserare come satslber di sinstra gue generat dal prime hie come sttabere ci destra quello compost dalla st dei fratelli. ‘Attraversando albero in preordine, si otione la classica rappresentazione in ‘notazione potacca delespressione, in cui gli operandi seguono gli operator =Ye"AX/-8°BO"D2 Orbe ee Sy Tari is is ai als pa () a inves: YAX*8BC *-D2*/+= ©) ©) () Infine con rattaversamento simmetrico si ottione la notazione tradizionale 0 a vearhes. B6/0"2 OO—O O-O-© Limportanza degli alberi binari deriva essenzialmente da due fattori la relativa semplicita con cui un albero binario pud essere allocato in me- iamo notare che il risultato a a Per quanto riguarda gli attraversamenti, poss tare Ei trversament in orineantpato produce la tesa sequenza nei de abe la possibilita di rappresentare qualsiasi albero orcinato sotto forma di albero Pee estes acten ics es ativecSRcheTS Th SUAS ARE al binario. non binario e quello in ordine simmetrico dell albero binario derivato. (6) Rappresentazione a LA STRUTTURA ASTRATTA DI GRAFO Proposta di lavoro 5 Nella citta di Koenigsberg, nella Prussia orient Vogliamo determinare se, partendo da una delle quattro possibili zone della sia possibile attraversare tutti i ponti una e una sola volta e tor punto di parterza, a ae “Analizzando il disegno, infatt, si pud notare che se esiste un settore della citta col- legato con un numero dispari di ponti (per esempio 3), per attraversarli tutti una e luna sola volta @ possibile solo: =o accedere al settore attraverso un ponte, uscire e poi rientrare (ma non usci- re nuovamente per tornare al punto di partenza); mo tore, entrarvi e poi riuscirne; ma anche in questo caso n« potrebbe ritornare al punto di partenza. La prima risposta documentata a questo problema fu data nel 1736 da Eulero, che a dei grafi. Egli, per into richiesto dal prob fa come vertici di un grafo ei ponti come archi dello stesso: OP. Seay - Yo luzione fu estremamente elegante e da essa vennero tratte delle conside- ire generale che possono essere applicate a qualsiasi tipo di grafo. espresse dal problema @ detto euleriano e, ov- viamente, non ¢’é alcun percorso euleriano per i ponti di Koenigsberg poiché tutti e do dispari questo corso, abbiamo pitt vi tappresentare diagrammi a blocchi, grafi di transizione degli zamento di processi, liste, alberi ece Le caratteristiche di un grafo eda una funzionet che fa corrispondere ad ogni arco una precisa coppia di nod, Nel grafo illustrato in figura, 'insieme dei nodi & A= fy 8 8p %, a4, 05,.04) ela funzione t@ descritta in modo completo dalle seguenti relazioni: a > , a, , a) + , a, > , & > , ay > , a + Diamo ora una serie di definizioni relative a concetti che verranno spesso ri- ‘chiamati nel seguito. Un grafo si dice orientato se esiste almeno un arco in cui ® definito un senso di per- correnza. In un grafo non orientato si definisce grado di dono su quel nodo, mentre se il grafo & orient gresso e gra yumero di archi che inci inguere tra gi 4 Nelesempio precedente: grado(C}=3; grado(D)=2 ; gradot ‘mentre nel grafo orientato sia: ‘grado in ingresso(D)=3; grado in uscita(D)=0 ‘grado iningresso(C}=&; grado in uscita(C)=2 Due nodi vengono poi detti adiacenti_ se nel grafo esiste almeno un arco che li col- lega. 4 Per esempio, i nodi F @ D sono adiacenti, mentre non jo sono F ed E. tra due nodi N, e N,di un grafo @ una successione di nodi (N, fimo Ny 1¢ formano la successione, diminuito di 1, definisce la lum Ovviamente, nel caso in cui il grafo sia vase rafo sia orientato, il cammino @ vincolato dai sensi Se il nodo di partenza e il nodo di arriv Peete e il nodo di arrivo coincidono, il cammino viene detto spira Un grato si dice com ‘se ogni coppia di nodi é collegata da almeno un cammino. N25 es ONS a er esempi, un albero pub essere dei 9 essere definito come i nesso @ privo di circuiti chiusi o spire. Senet: Un grafo orientato si dice for qualsiasi altro attraverso un cammino. se ogni nodo é raggiungibile da ‘Gralo connesso ma non frtemento conness0 2; Se ad ogni arco di un grafo viene associato un valore (peso), si hanno i cosiddetti ‘srafi pesati che, oltre ad associare specifiche i ociare specifiche informazioni ai nodi, consentono are anche gli archi di collegamento, “aeons Gato fortemente connesso Se, per esempio, si volessero rappres citta, si potrebbe costruire un grafo co “= informazione associata al nodo: NOME DELLA CITA; = _informazione associata ad un arco: DISTANZA IN KM. Si avrebbe allora 4 Unattro esempio significative di grafo pesato potrebbe essere quollo che rap- presenta una rete idrica di una cit, dove, definendo: rmazione associata al nodo: ZONA DELLA CITTA; = Finformazione associata all arco: PORTATA; si potrebbe costruire un modello in grado di descrivere la situazione reale e di rispondere a diverse esigenze di istribuzione nellarea in esame. ESERCIZI che meglio si presta a implementare le seguenti problematiche. 1 Una cartolibreria di un paese che intende gestire il proprio magazzino di ima che permette di sapere quanti e quali libri sono ire perché invendibili e quali ordinare perché richiesti. segnanti per poter gestire, oltre all'appel le valutazioni, gli incontri con i genitor, i consigli di dlasse e gli scratini ii sportelli di un uificio di collocamento, Un’agenda telefonica e degli indirizzi. La rappresentazione dei percorsi ottimal richiedere a fronte della visita di certi particol Larappresentaz Un vocabolario italiano - inglese e inglese - ital Un prodotto ipertestuale ricavato da un libro di testo. Lorganizzazione delle directory e subdirectory di u Un programma di Help di un compilatore. |. Un elaboratore di testi ratte pill importar fodotto le strutture astratte di pila, coda e lista, ana- nel contempo le operazioni che consentono di manipotare i dati con- bidirezionale e la , abbiamo puntato Vattenzione sulla struttura astratta oi albero, indivi duandone caratterstiche e potenzialita di rappresentazione ed approfondendo nel contempo 'analisi dei metodi i attraversamento. In questo contesto, ed in particolare nel'analisi degli alberi binari, abbiamo colto loccasione per rimarcare la potenzialita del metodo ricorsivo per la ge- jone di questo tipo ai strttura dat 1, abbiamo chiuso !unita didattica esaminando la struttura pit! generale di grato, evidenziandone pregi e cite

Potrebbero piacerti anche