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 induzione

Caso base T = r → banale.

Passo 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 depth. If 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, discendenti, nodi esterni, albero ordinato

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

Procedura per induzione

Caso base T=r → banale.

Passo induttivo vale per alberi con 1 ≤ m ≤ n nodi. Proviamo 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 max. So tutte le foglie.

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 = # nodi, m = # foglie.

m = n – m + 1

h + 1 ≤ m ≤ 2h

Proprietà

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) j = 36/3-1/3 3 ∑e1 2i(h-i) = 2he1.

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