Estratto del documento

ABSTRACT DATA TYPE

Modello che specifica tipi di dati, operazioni, accessibilità, parametri in Java realizzato perciò più tramite interfacce che con classi. Sono dichiarazioni di operazioni e protocolli.

ALBERI GENERALI

Definizione di albero radicato / antenati / discendenti nodi esterni / albero ordinato

  • height(Γ) = maxv∈T, v foglia (depth(v))

Procedura per induzioneCaso base T = r → banalePasso induttivo vale ∀ alberi con 1 ≤ m ≤ n nodi.Prendiamo un albero con n+1 nodi.

  • height(Γi) = maxv∈T, v foglia (depth(vi))
  • height(Γ) = 1 + maxi maxv∈Ti, v foglia (depth(v)) = maxv∈Ti, v foglia

Completes a di depthIf T is root else depth(T.root)Θ(dv+1) ~ Θ(n)

ABSTRACT DATA TYPE

Modello che specifica tipo di dati, operazioni, accessibilità, parametri.In java realizzato perciò più tramite interfacce che con classi.Sono dichiarazioni di osserva e regola.

ALBERI GENERALI

Definizione di albero binario / antenati / discendentiNodi esterni / albero ordinato

height(τ) = maxv∈T, v figlia (depth(v))

Procedura per induzioneCaso base T=r → banalePasso induttivo vale per alberi con 1 ≤ m ≤ n nodiProviamo su albero con n+1 nodi

height(τi) = 1 + max(... height(τi))

height(τ) = maxv∈T, v figlia (depth(v))

height(τi) = 1 + maxv∈T, v figlia depth(v)

= max (1 + maxv∈T, v figlia depth(v))

Quello lui maxSo tutte le foglie

IIII complessità di depth

If T is root etc.else return 1 + depth(T.par)Θ(dw+1) ~ Θ(n)

Complessità di height

h = 0

for v ∈ T.children prerrendo h = max {h, height(Tw)}

costo accesso ad ogni nodo Θ(cu + 1) cu = # figli di u

v∈Tu cv = n-1 (ogni nodo, eccetto la radice, ha un padre e contribuisce una volta alla sua)

Visite preorder/postorder

visita v

foreach w ∈ T.children(v)

preorder Tw

Alberi Binari

Alberi binari propri/pieni

n = # nodim = # fogliem = n – m + 1h + 1 ≤ m ≤ 2h

Propietà

Visita inorder

if (T.left ≠ null) then inorder T.left(v)

visita v

if (T.right(v) ≠ null) then inorder T.right

Priority Queue

Collezione di entry in cui le chiavi rappresentano la priorità e provengono da un universo totalmente ordinato

Entry = (chiave valore)

Liste

  • Insert Θ(1)
  • RemoveMin Θ(n)
  • Min Θ(n)

Lista non ord | Lista ord

  • Insert Θ(n)
  • Min Θ(1)
  • RemoveMin Θ(1)

Heap

Albero binario (completo e bilanciato) che al livello i ha 2i nodi (al massimo) e nell'ultimo livello tutti i nodi interni hanno 2 foglie tranne questo più a dx che può avere solo il figlio dx

Un albero binario completo con n nodi ha altezza h=⌊log2n⌋

Definizione Min Heap

∀i, min≤{e1,e2,e3}

la chiave massima sta in una foglia dato che il nodo ogni alberico ha chiave maggiore

Level Numbering

Rappresentato tramite array/radice in P[1]

Figli sono P[2i],P[2i+1] | genitore P[⌊i/2⌋]

Struttura dati implicita

RemoveMin/Insert Θ(logn)

Costruzione di uno heap a partire da n entry date

1. Approccio Top/Down

Parto dal primo e vado fino all'ultimo facendo un up-heap/bubbling

Θ (∑j=2n log j) Demonstriamo Θ(n log n)

j=1n log j ≤ ∑j=1n log j ≤ n log n

Istanza cattiva, ordine decrescente

2. Approccio Bottom-Up

Eseguo ⌊n/2⌋ iterazioni

P[⌊n/2k⌋ nodo più piccolo più a dx dell’ultimo livello

Ad ogni iterazione faccio un down-heap/bubbling

Per ogni nodo a livello i: 0 ≤ i ≤ h-1 il down-heap bubbling costa O(h-i) e ho 2i nodi al livello i.

Θ (n + ∑j=1⌊h/2⌋) = O(n + ∑j=1h-1 2i(h-i))

Vogliamo mostrare ∑j=1n e(1/2) j < 3

Faccio una stima con serie geometrica

ej/2(1/2) < 3 (3)j = 36/3-1/3 3

e1 2i(h-i) = 2h

e1

Anteprima
Vedrai una selezione di 8 pagine su 33
Dati e Algoritmi I - Teoria per esame Pag. 1 Dati e Algoritmi I - Teoria per esame Pag. 2
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Dati e Algoritmi I - Teoria per esame Pag. 6
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Dati e Algoritmi I - Teoria per esame Pag. 11
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Dati e Algoritmi I - Teoria per esame Pag. 16
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Dati e Algoritmi I - Teoria per esame Pag. 21
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Dati e Algoritmi I - Teoria per esame Pag. 26
Anteprima di 8 pagg. su 33.
Scarica il documento per vederlo tutto.
Dati e Algoritmi I - Teoria per esame Pag. 31
1 su 33
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher emavit di informazioni apprese con la frequenza delle lezioni di Dati e algoritmi I 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 Pietracaprina Andrea Alberto.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community