Anteprima
Vedrai una selezione di 4 pagine su 12
Appunti del corso Dati e algoritmi Pag. 1 Appunti del corso Dati e algoritmi Pag. 2
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Appunti del corso Dati e algoritmi Pag. 6
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Appunti del corso Dati e algoritmi Pag. 11
1 su 12
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Implementazione di una linkedDoubly list

La linkedDoubly list ha una complessità O(u) per l'inserimento e la rimozione di elementi.

La linkedDoubly list può essere ordinata in modo canonico: insertremoveMin ha una complessità O(n), mentre la linkedDoubly list completa ha una complessità O(nlogn) per l'inserimento e la rimozione di elementi ordinati.

È possibile bilanciare la struttura dati Heap tramite il costo delle operazioni. Definisco un albero binario completo T come un albero in cui ogni livello ha tutti i nodi completi (ovvero tutte le foglie sono complete). L'altezza dell'albero T è h.

Per un albero binario completo, il numero totale di nodi è 2^h - 1. Ogni livello ha 2^i nodi, quindi il numero totale di nodi in tutti i livelli interni è 2^h - 1 - h. Tutti i nodi al livello h sono foglie complete.

Un albero binario completo ha la proprietà che ogni nodo ha un padre e due figli. Ogni figlio ha un padre e due figli. Inoltre, la chiave del padre è minore o uguale alla chiave dei figli.

Un Leap numbering è un modo efficiente per implementare un albero binario completo utilizzando un array. Ogni nodo dell'albero viene assegnato a un indice nell'array. In questo modo, è possibile accedere ai nodi dell'albero utilizzando un indice e calcolare facilmente il padre e i figli di un nodo.

· P(i) entry figlie· P(2i] difiglio Pli]- ex-P(zi+] figlio Lisdx diP(E)] entry padre·I delle complenita:implementatimetodi priority canquere vengonoUp-leap-bubbling laristabilire(k, OClogn) HOPV):Insert· perOllogn) Daun-heap-bubbling laremoveMin(): ristabilive HOP· perSatom can heapparibile tale diventarefarleentry, è viarganizzareaway array cann per indue approcci. leggere dalleelementiTOP-DOWN: nell'gli cheradicecomincio· spatoa mie man manola ComplenitàO(nfogn)HOP.ristabiliscoaray Leap-(1 j] ém=insil P(j immutato+1) n) e=-a dell'arayPorto dalleBOTOM-UP: garantito chemetà sotto albero· vienee man mare ogniComplenitàPljin) allefinoLeap O(n)ad radice.arrivaresia in -P(1 immutatoé1))(j-=Pil (j forestaé Heapdin) ma-> =moltoE' bottomla soluzioneefficente up.piùEntrambe le soluzioni utilizzareeseguitepancio direttamenteentre spazioneuzeawayePer dicasaggiuntivo.

INPLACE.questo inMAPPA: HausADT colleziona chiariche distinte.entry metodic get,3 insert,can remove(K, x), reElaget(K): altrimentiI ritoriarestituisce, NULLcerca re (K,x).E Setinsert(Khey, Uvalue): laentry (K,V) restituiscegiàcerca scurascrive x.ne ma ecanlaAltrimenti (K,V)entry ritorna NULL.inserisce nuova e(KKey): Se·Remove 7 (K,x). la altrimentirestituisceesiste, NULL.restituiscecerca ne rimuove x,eImplementazioniLinked fist: bisognerecomplessità O(n)di al la liste.get, tuttaquanto· put scarereremovee in piùArray: Get,tra Ocl.U dell'aray.· carispondenza chiavi indici put,si I euna as ecrea remareel'arayI grandeU moltomoltoproblema che é occupare spaziopuòé seTabelle SaoHash: funzione bucketoff hash,trade spazio-tempo. caratterizzate da· away adellemetodo collisiongestionediFunzione Hash:composta da· Hash Code: delledalle chianiintero* entrygenerato partireaAd distringle chartesempio. per s

so,,...sa=k 1-[Hascode x i(apolinomiate: es.)-1 ad-- Si 31a =i 0=Cycle shift: fattodopo shiftcaratterimujoli viene- ogniin i esammare noservercycle di sposizioniComprenica function: hashcode intervallogli (r,generati N-r] N* davecomprimere in unla bucketdeltagliaé away.Division Nmethod: modi i· modp](multiply-add-divide):MAS modN((a.i b)i.· +casualmente (1,p-1]sceltip>N abnumeroa primo e inRisoluzione delle collisioni: tramiteeffettuataviene· bucketSeparate Mappa implementanteChaining: piccolamistoé* ogni come piùunaSi load Itranite Esprime ilillista. tempo.. tradedefinisce offfactor spaziocome =(co.zs)Quando A rehashing,effettuaprefissatasoglia il cioé:upera ma inSicea bucket hashN'_zN, functiondi capacitàaway increa novamae nuovo si ehash.tabellele nelleentryinseriscano nuovaAlcasopenimo, Alhash table.Oin)pute medioget e inveccasoremare con ma=0(1+1).putget removeeALBERO RICERCABINARIO DIUn binarioABR albero dain

entry nodi in interni memorizzano provenienti universe è incui proprio

Ogni interno deve chiave le modo proprieta: soddisfare ordinato. v può le div cchiari tutte albero sotto nel seno sx le K chiari di tutte, sottralbero nel dx i seno

Si binaria: Tree Search (T,v). bene la molto presta per ricerca La R(2). binario ABR albero completo ha Essendo può e proprio essere. ricerca in però un bilanciato Tree Search (Tir) - O(logn) => Tree Search sbitcuciato (T.r) 0 -> (n) -> Quudi lavo tutti O(h) Search complenità metodi in sfruttano Tree quanto put (Tir l.get, ver move e is)

MULTI TREEWAY SEARCH In dei complessità la problema A proporzionate visolvemetodi quanto utilizzando ad ilever può mi in n, Gli utilizzando entry. MWS-Tree. permettendo generalizzano MWS-Tree AR nodi gli di interni avere ai più in have figli modo interno d node; figli der detto interno modo e viene ogni con ogni

Ogui les: chiari d-node entry Kack....d-1 entry) cresanti, 4-node

dcioémemorizza 3memorizza canhaUn d-node la Ki-ge.getkey,d figliche soddisfano Kiproprietà: sind. perfiglile chiari ordinate intervallisenoneiavero in3,126,9,11 15,951.3 13,14 21,45 105, 110

Una importante MWS-Treeproprietà internihache foglie.nodizu icon 1é n +ha (Oldmaxh)(T,r)Tree Search complenità dove ildmax di figli moda.dimonimoma numero aè12.4) Tree-Sco MWS.Treegeneralizzazione dei quanto.ma inOgni interno und node =d4modo· é canTutte lale livellofoglie nello Lavosteno quudi stence profedità.. seno e19 tutte22,4) delle all'altezzaproblemarisolve avendolegatail le fogliecomplemite quanto,Tree in- livello, hl'altezza P(logn).stenoi mo =(MULTIMApDIZIONARIOE' ma che lachicuila chiavel.(sentrydi duplicateammette stencepresenzamappa canget: allecollezione chiarevaloridirestituisce mociati K· ma delle Nowinsert: chiavevalori presenti.entryentry restituiscintaccare Kdi· giàinserisce

Formattazione del testo

masempre senzenuova ialcun output alam outputchiave Vvaloreentry e· di restituireremove:rimuove una neuzeViene Lk listadove daimplementato formatetramite Kelk.entryle valorianociatidimamappa sevouna éK)(= we)alla chiave v, v2, ...,Complenità.Get OlCogn)complenità(K,v) havo utilizzando(K) insert (2,4)-Tree.· eneRemove Olstlogn)(k,V) daves Lidelle datiene conto entry· ricercare inRIASSUNTO COMPLESSITA:MAPPA: (2,41-Tree (2,41-Metodo Metodo TreeDIZIONARIO:ABR ABRO(logn) OloquO(a) O(a)get() get(N)0(f) Oleogni 0(f) Oleogniinsert(K,x) insert(K,x)O(f) Oloqul O(s+fogn)8(s+f)remove(K) remove(K)GRAFIG E) collezioneIV, archivertici/modi-Vdi Ee=Può enereDiretto (m,w) ordinateé (n xv)· arco eEe ogni ma coppia -Nau diretto (n(e, ordwater -v)· encev)eEarco coppiae éneuogniSi definiscono cuche:self-loop: tipoarchi del (e, u)· sempli:grafi archi selfloopmultipli· esenzagrafi pesati:archi verticicon dei·

mociatie/o peniIncini ha Il degreegradodi che deimodo ilvertici nodiincidenti indicain in ila numerov seno idiarchi E incidentin v.I) La lunghezza deldi (Mi,vertici EMinn) ema ick.cammino camminersequenza n. 1Ma,é perun..., Unal archidi nel nel traampliagrafo pesanto. due verticicomminoindipari camminenumero cammino ecaso newde esclude da volta.vertice diilparaggio manu piùUn La lughezzaciclo del(it)E ciclodiverticiwa rrick.sequenzaé e, eMx=MMz,...., canUnla buglezza daciclo ciclo diremplice modo volte.é del é no
Dettagli
A.A. 2022-2023
12 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher GiacomoVianello di informazioni apprese con la frequenza delle lezioni di Dati e algoritmi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Rodà Antonio.