O
H
4 PER quella
ASSURDO avrebbe
de de
chiavi
figlio chiare
avrebbe
nodo
forse interno
nodo che
tale l a y ;
, EMAX
in
emax ,
se per e
un
un .
. .
, ,
è perché
impossibile chiave
entry
emax=
ma con masuma P(iz)
2]
<PTO] P[i]
1]
FigliouP[i] P[zi P[zi
ARRAY
TRAMITE
HEAP NUMBERING Raduce
LEVEL on
Padre
+
+ <
<
: ;
= ;
,
PROPRIETA P[2i-1) P[2 + -2]
P[2]
2 node presi
Orich del
i
i livello i dx
1 da mappate
5x a sono
ogni in
per , ,
, ....,
, ,
Pl2h-1] P12h] P[n-1] Pin-1]
presi
i del nodo
dx last
node h
livello da
.
2 mappate
sX a con =
sono in ....,
, , ,
,
OSSERVAZIONI
La EFFICIENCY padre-figlio
tramite le
quanto
realizzazione implicite
1
. relazioni
SPACE
è sono
in
array
Alberi
1-1 Complete
2
. Binari
tra Array
corrispondenza e
Un è
numbering
3
. level
qualsiasi sbilanciato è
lo
binario tramite
può
albero molto
mappato occupato maggiore
spazio
array
su
essere se
ma
P[i] Centry h)
Pli]
<Pli] getkey() Plast]
IMPLEMENTAZIONE Chiave getValue
siano nodo evello
più
valore dx
last
entry al
=
: < = a
= =
.
,
.
Sia p heap implementato
entry tramite
con
uno array
COMPLESSITÀ
MIM()
METODO tEO(1)
PTO]
return radce
= del
padre quindi
(2) 20n i (ni)e0(n)
mi) e logn)
man a
=
QUEWE
TRAMITE
SORTING PRIORITY data ordinare
de da
culavi
sequenza n
Una
FASE A si P
le el
chiari invocando
alla volta metodo insert
inseriscono n in
: una
,
FASEB da
si removeMin
P
se el
chiavi invocando
alla volta metodo
rimuovono m
: una
,
HEAP SORT IN-PLACE S output
de
IDEA input
usando priority
stessa de
l a
Variante Heapsort
place de queue
sequenza
sequenza
in come sequenza
e ;
: ,
max-heap standard
heap
VARIAZIONE che
Usare uno
un invece
= STO-n-1] maxRFgodX RFigliosX)
FASE A Rp)
max-heap diventa
modo .
che la P
O
rappresentino
la chiari H
riorganizza ovvero
un
: in , .
, . .
last 1
n
= -
(In-2)/2) Sti]
& I
i Sti]
i)
(S
MaxChild è
downto de
Index del chiave
0 massima nodo
for do Indice figlo interno
< se
con
=
,
/
*
* S[i]
BUBBLING Sti] è
da fogha
DOWN-HEAP nuel se
it jj COMPLESSITA steO(n)
i)
(S
MaxChild
index bottom-up
R costruzione
FASE A
< :
; =
,
(SERd
((REnue)
Whir AND
(S[i] SIR]) HOP
LA
swap :
,
is R; i)
(5
MaxChild
Index
R ;
,
3
S STO-n-1]
FASE B ordinate
modo risultino
che le chiavi
: riorganizza in
last 1
= n - dod dell'iterazione
j
for j)
1 alla
(invariante
to fine
n-1 CORRETTEZZA
/ 1]
S[0
*
* STO]
BUBBLING n-j
da le più
n-j
DOWN-HEAP organizzate
contiene , heap
chiavi come
=
* piccole
-
SIn-j-n-1]
STO])
(S[Lart] crescente
grandi
le più
contiene j ordine
chiavi
Swap * in
,
,
j
last 1
= n - - teologi nrogn
COMPLESSITA
ix removeMax)
0 piccoli
FASEB- de più
heapsempre
ne
esecuzione
: se a
,
i)
(S
MaxChild
index
R (logi)
nodi
Max
= e
heap di i
; * remove su
,
(SIR])
((REnuee) dod
Whir AND
(S[i] SIR]) HOP
DELLA
VIOLAZIONE
swap :
,
is R; i)
(5
MaxChild
Index
R ;
,
3
·
menoxeisax (key volue) se
altrimente rettrice
inserie e
, ,
remove et)
Re
↑ I :
IterablexV) values() ;
Iterable Entryk entrySet))
V ;
,
3 (POSITION-BASED)
INEFFICIENTI
IMPLEMENTAZIONI LISTA #entry nella
* n mappa
=
COMPLESSITÀ X
(n) metodi
i data
richiedono la
o chiave
tutte la
de
ge tre entry
put > ricerca una
e
remove con
:
, , [0
/VI 11-1]
indici
* ARRAY TAGLIA We gle
Mi seme finato
U disponibile 1-1
DI tra
che MAPPING in
sua
e un ,
tall banale X
da
potrebbe trovare
mapping essere non
COMPLESSITÀ (1)
de get put remove :
, ,
HASH
TABELLA
IMPLEMENTAZIONE TRAMTE (
compressions
Schiavis bucket)
1) 3)
V 2) allo
TRE distante
INGREDIENTI associate
h N
FUNZIONE COLLISIONI
DELLE chiavi
RISOLUZIONE
BUCKET di
HASH A stesso
ARRAY Capacità
: =
: = [i]
(ava) code h(R) i
(R hash
x)
i-esimo
hik SEPARATE CHAINING lo
bucket
A lusta
contenente le valore
entry stesso
memorizzare
rea una con
: per
C =
=
nash ,
function (k) remove(R)
numero o METODO
etse
LOAD prt(R X)
X-
FACTOR get
de loucket
lunghezza media COMPLESSITA 1)
teE(x
un AL CASO MEDIO
<
= +
= ,
,
,
osh descritti definizione
dalla O(h) PESSIMO
come CASO
AL
75)
REHASHING (es
si 1 <> 0
sogna prefissata
la
eseque se supera
: : .
N' IN
1
. de bucket de capacità
creazione un nuovo array
funzione
2
. scelta nast
de nuova
una COMPLESSITÀ ()
(R
v)
(R l'Adr root
TreeSearch T
TreeSearch guardo
ALGORITMO associato a
: : ,
, .
(scende
R chiamata)
T
1
#NODI Eh
veT
nodo
INPUT livello ad
chiare de
*
: un in ogni
+
:
, te(h)
a
" gusta >
(confronte)
e
OUTUTuconheRecristaltrmente (1)
posizione :
foqua COSTO
in operazioni
* (h)
più lunghezza
ISTANZA profonda de
foglia
PEGGIORE la
restituisce Cammino
* :
=
return v ;
3 Se
If
Element gete
3 Si
Maresco COMPLESSITÁ te(h)
dominata dalla Treesearch
:
getValue))
ese getElement)
return w ;
.
.
PUE(R X)
METODO e
, (w e)
(R root))) trasforma
T expandexternal
Treesearch entry
contenente la
W nodo interno
w
; in
, ,
. COMPLESSITÁ
(w) I
(T
If te(h)
Internal then dominata dalla Treesearch
IS :
. getElement) getvalue)
y W ;
. .
sostituisci getElement)
nella entry
xa W ;
y .
return ;
y
3 x)
(w (R
expandExternal e ;
= ,
,
el T
di o
incrementa 1
de entry
numero
return null
remove(r)
METODO COMPLESSITÀ
(R root)) dei
T
Treesearch contribute
We ; : Somma
, .
(w)
(T O(n)
isExternal then Treesearch
null
return
If *
; :
. tef(n)
esses (h)
:
Caso 2
* >
(1)
getValuel)
getElement) altre
value *
W operazioni
; :
. .
el T
di de
1
de
decrementa entry
numero (w))
((T E
(w) (T then
isInternal (Tright
isInternal (T left OR
If .
.
.
* / /
*
1
CASO Winterno almeno figlo foglia
con
= un
esegui Caso 1
3
esse[ /
*
* interni
/ figli
2 due
CASO interno
w con
=
esegui Caso 2
3
3
return value
1
CASO CASO 2
è di
padre almeno
interno node
fogla è di
padre due
interno interni
m
: una :
e w e COMPLESSITÁ (h)
left(w) sottoalbero
nel
Tright(W) SXde W
chiave
T Modo
Ya
UR
u(X < ;
; max
con
. COMPLESSITÀ
I
(T (n) (1)
External then
If Cancella destro
el figlo
is suo
y e ;
.
cancella oh
figho
Fai de
il
salve al posto
we sX
un ;
y
y
;
fai salre al de
posto W
ur ;
3 (
esse
cancella we ur ;
fai salre al de
posto W
4) ;
3 RICERCA
IMPLEMENTAZIONE TRAMTE DI
ALBERI
VARIANTI DEGLI X3)
X1) (R3
(R2 X2)
(R1
MULTY-WAY TREE
SEARCH permettendo più
ai
gl node
generalizzano ABR entry
de avere
= , ,
,
è albero tale
ordinato che
un
1
. figli
ha
nodo interno 2
ogni (d-node) proprietà
figli
con d i in
sequente
coddisfa
interno le
Val
nodo V1
2
.
2 : ↳
ogni ....,
(Ra
(k X1) Xar) Ra-1
Res
d-1 entry dove ...
* memorizza : ...,
, ,
, Ri
Rie getkey)
1 isa Tri
nodo
* de Soddisfa
chiave
vale l a
che entry memorizzata
per in
ogni un
e .
PROPOSIZIONE 2
11 foghe
ha
MWS entry
Tree che 1
n
n
: memorizza
un +
-
.
dimostro dell'albero
sull'altezza T
ho
induzione
per foghe
(4) h
albero de
& ha
altezza nentry 1
en
un
: +
① ok
di
l'albero 1
BASE 0 1 0
è
che quindi
R fogla
radice
ho
O definizione
dalla 1
MWS-Tree
solo
è composto M
r > +
una m
per
se
: =
= =
= ,
,
,
② h
Q h+l
O allora
alberi
INDUTTIVO
PASSO La IPOTESI è
vale
Fierato altezza per
vera
per con
:
, ,
considero così
fatto
h
MWS-Tree è
altezza
de 1 :
un + , (ini) mi
↑ isd quindi
hith Fi (0-1)
d-1 l'IPOTESI
1
r entry l'albero ha
ha
Ti fogle
vale entry minita intero
ni n
ogni e
per +
: a =
:
, ,
ma
d
ALGORITMO MW Search
Tree (R v
MWTreeSearch
ALGORITMO : ,
nodo
-
Appunti di Dati e Algoritmi 1
-
Algoritmi e strutture dati
-
Dati e Algoritmi
-
Algoritmi e Strutture Dati
- Risolvere un problema di matematica
- Riassumere un testo
- Tradurre una frase
- E molto altro ancora...
Per termini, condizioni e privacy, visita la relativa pagina.