Professional Documents
Culture Documents
Bài giảnh cây nhị phân tự điều chỉnh
Bài giảnh cây nhị phân tự điều chỉnh
Splay tree
Splay tree l mt cy tm kim nh phn tha mn iu kin mi
nt trn cy, sau khi c truy cp, s c hiu chnh (splaying)
v gc ca cy bng mt dy cc php quay.
Cu trc d liu cho cy splay tree
typedef int KEY;
struct tree_node {
KEY key;
tree_node *right;
tree_node *left;
tree_node(KEY k){
key=k; left=right=NULL;
}
};
2
Zig
B
B
(a)
Zig
Zig
P
(a)
Zag
Zig
P
A
A
P
X
D
(b)
Hnh 3-3. (a) Quay tri nt X quanh nt P, sau quay phi nt X quanh nt G. (b) Quay phi nt X quanh nt P,
sau quay tra nt X quanh nt G.
Tm kim
Thc hin tm kim kha k trn splay tree nh trn cy tm kim
nh phn.
Tm kim
9
T
1
T
2
2
3
T
4
T
1
T
2
T
3
T
3
5
T
4
T
5
T
8
5
T
6
T
7
(a)
T
8
T
7
T
5
T
6
(b)
Hnh 3-4. (a) Cy ban u. (b) Cy sau khi thc hin php quay tri-tri:
quay tri nt 4 quanh nt 3, sau li tip tc quay tri nt 5 quanh nt 4.
Tm kim
5
T1
7
T2
T4
7
T8
T3
T2
T1
T7
4
T8
T4
T3
T5
T6
3
T7
T5
T6
(c)
(b)
Hnh 3-4 (tip). (c) Cy sau khi thc hin php quay tri-phi: quay tri nt 5 quanh nt 2, sau li
tip tc quay phi nt 5 quanh nt 7. (d) Cy sau khi thc hin php quay phi-phi: quay phi nt 8
quanh nt 9, sau li tip tc quay phi nt 5 quanh nt 8.
Php chn
Thc hin chn mt kha k vo splay tree nh trn cy tm kim
nh phn.
Php xa
Thc hin xa mt kha k t splay tree nh trn cy tm kim nh
phn. Nu gi tr kha cn xa khng c trn cy th quay nt
cui cng trn ng tm kim v gc, ngc li th quay nt cn
xa v gc v thc hin cc bc sau:
Bc 1: Tch cy ban u thnh 3 cy: cy tri L, cy phi R v cy
gia ch cn li mt nt gc chnh l nt cn xa (k hiu li
delete_node).
Bc 2: Nu L rng th R chnh l cy mi
Ngc li:
Quay nt phi cng ca cy con tri v gc.
Ni cy con phi R vo con phi cng ca L.
Bc 3: Xa nt delete_node.
10
Nn d liu
S dng splay tree nn xu k t sau: aabcd, bit bng ch ci
={a,b,c,d}
Bc 1: Xy dng cy nh phn m cc ch ci l ca n.
Bc 2: c ln lt tng k t v tm kim trn cy.
11
Nn d liu Bc 1
12
Nn d liu Bc 1
aabcd
a
a
a
b
b
c
(a)
(b)
(c)
a
a
b
c
(d)
(e)
13
Gii nn
Nh vy dy bt nhn c sau khi nn xu aabcd l 00010101.
Gii nn
Thc hin ngc vi qu trnh nn. Gi s ta c mt bng ch ci
v mt dy bt m. gii nn, ta thc hin hai bc sau:
Bc 1: Xy dng mt cy nh phn y hoc gn y cha
tt cc ch ci ca cc nt l ca n.
Bc 2: c tng bt trong dy bt v i lin tip trn cc nhnh
tng ng trn cy vi bt 0 i xung bn tri, bt 1 i xung
bn phi, n khi gp nt l th ghi ch ci tng ng ra vn bn
gii nn, quay nt cha ca nt l v gc v tip tc c cho
n khi ht dy bt th kt thc.
14