1
Chương 4.
CÂY VÀ ỨNG DỤNG
I C Y V C C T NH CH T C A C YÂ À Á Í Ấ Ủ Â
II NG D NG C A C YỨ Ụ Ủ Â
III C Y KHUNGÂ
IV C Y KHUNG NH NH TÂ Ỏ Ấ
2
I. CÂY VÀ TÍNH CHẤT
•
1. Khái ni m câyệ .
•
Cây l m t lo i th c bi tà ộ ạ đồ ị đặ ệ .
•
ng d ng trong tin h c.Ứ ụ ọ
•
xây d ng các thu t toán ự ậ nh v các m c tinđị ị ụ
trong m t danh sách. ộ
•
xây d ng các ự m ng máy tínhạ v i chi phí r nh t ớ ẻ ấ
•
t o ra các ạ mã có hi u qu nh tệ ả ấ l u tr v để ư ữ à
truy n d li u. ề ữ ệ
•
mô hình các th t c c n dùng m t dãy ủ ụ ầ ộ các quy t ế
nh,đị …
3
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
nh ngh a 1. Đị ĩ Cây l m t th vô h ng, liên thông v à ộ đồ ị ướ à
không có chu trình.
•
Cây không có c nh b i v khuyên. Hay m i cây u l ạ ộ à ọ đề à
th n.đồ ị đơ
•
Ví d 1. th n o l cây?ụ đồ ị à à
a • •b a • •b a • •b a • •b
c • •d c • •d c • •d c • •d
e • •f e• •f e • •f e • •f
Cây Cây Không là cây
4
•
nh lý 1Đị . M t th vô h ng l m t cây ộ đồ ị ướ à ộ
⇔
gi a ữ
m i c p nh luôn t n t i ng i n, duy nh tọ ặ đỉ ồ ạ đườ đ đơ ấ.
•
Ch ng minhứ .
•
i u ki n c nĐề ệ ầ : T l cây à ⇒ T liên thông ⇒ có n đđđơ
t x t i y. ng i n y l duy nh t, n u có ng ừ ớ Đườ đ à à ấ ế đườ
i th hai t x t i y đ ứ ừ ớ ⇒ T có CT.
•
Trái v i gi thi t T l cây.ớ ả ế à
•
V y gi a 2 nh luôn có ậ ữ đỉ ng i n duy nh tđườ đ đơ ấ.
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
5
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
i u ki n Đ ề ệ đủ: Gi a 2 nh b t k c a th T ữ đỉ ấ ỳ ủ đồ ị
luôn có n duy nh t đđ đơ ấ
⇒
T l câyà .
•
T liên thông.
•
Gi s T có CT ch a x v y ả ử ứ à
∀
⇒ có hai i gi a x v y, trái gi thi t.Đđ ữ à ả ế
•
V y, T l th ậ à đồ ị liên thông không có Chu trình,
hay T l m t cây. à ộ
•
l cm.đ đ
6
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
2. C C THU T NG V C YÁ Ậ Ữ Ề Â
•
G cố l nh c bi t, nh h ng m i c nh – à đỉ đặ ệ đị ướ ỗ ạ
b ng h ng t g c i ra. ằ ướ ừ ố đ
•
Cây cùng v i g c sinh ra m t th có h ng ớ ố ộ đồ ị ướ
g i l ọ à cây có g cố . Th ng v g c trên.ườ ẽ ố ở
•
N u v ế ≠g c, có m t c nh có h ng t u n v. ố ộ ạ ướ ừ đế
nh u l Đỉ à cha c a v v v l ủ à à con c a u. ủ
•
Các nh có cùng cha c g i l đỉ đượ ọ à anh em.
7
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
Ví d v câyụ ề
•
a
•
•
b c d
•
e f g h i
•
k l m n
8
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
T tiênổ c a m t nh v (khác g c) l các nh ủ ộ đỉ ố à đỉ
trên ng i t g c t i v.đườ đ ừ ố ớ
•
Con cháu c a v l các nh có v nh l t tiên.ủ à đỉ ư à ổ
•
Các nh không có con g i l đỉ ọ à lá.
•
Các nh có con c g i l đỉ đượ ọ à nh trongđỉ .
•
G c l m t nh trong tr khi th ch có m t ố à ộ đỉ ừ đồ ị ỉ ộ
nh.đỉ
•
Gi s a l m t nh c a T, ả ử à ộ đỉ ủ cây con v i g c a l ớ ố à
th con đồ ị c a T, bao g m ủ ồ a v à các con cháu c a ủ
nó cùng t t c ấ ả các c nh liên thu cạ ộ v i các con ớ
cháu c a a.ủ
9
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
Ví d .ụ
a •
b • c • h • i •
d• e • h• i • j • k • l • •m
f • • g j • k • l • • m n • • o
n • o •
a) Cây b) Cây con c) Cây con
10
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
nh ngh a 2. Cây có g c c g i l Đị ĩ ố đượ ọ à cây m-phân
n u m i nh trong có úng m con. Cây m-phân v i ế ọ đỉ đ ớ
m=2, c g i l cây nh phân.đượ ọ à ị
•
Ví dụ
• • •
• • • • • • •
• • • • • • • • • • • • • •
• • • • • • • •
Cây nhị phân Cây tam phân Không là cây m phân
11
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
Cây có g c c s p (hay có th t ) - các con ố đượ ắ ứ ự
c a m i nh trong c s p x p theo m t th ủ ỗ đỉ đượ ắ ế ộ ứ
t nh t nh. ự ấ đị
•
V các con c a m i nh trong t trái qua ph i. ẽ ủ ỗ đỉ ừ ả
•
Trong cây nh phân có th t , các nh trong có: ị ứ ự đỉ
con trái v con ph i. à ả
•
Cây có g c t i con trái l ố ạ à cây con bên trái v cây à
có g c t i con ph i l cây con bên ph i. ố ạ ả à ả
12
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
Ví dụ
a •
b • c • h • i •
d• e • h• i • j • k • l • •m
f • • g j • k • l • • m n • • o
n • o •
a) b) c)
Cây nhị phân a) và các cây con b) và c) tại đỉnh c
13
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
2. C C MÔ HÌNH C YÁ Â
•
Ví d 1 . ụ H th ng các t p tin có th bi u ệ ố ệ ể ể
di n b ng ễ ằ cây th m cư ụ ,
•
Víd 2. ụ Các b x lý song song k t n i ki u ộ ử ế ố ể
cây. B x lý bi u di n b i g c có hai liên k t ộ ử ể ễ ở ố ế
hai chi u v i các b x lý bi u di n b i hai con ề ớ ộ ử ể ễ ở
c a nó. B x lý bi u di n b ng m t lá v ch có ủ ộ ử ể ễ ằ ộ ỉ
m t liên k t 2 chi u v i cha c a v. ộ ế ề ớ ủ
14
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
Cây-m ng liên k t tính toán song song c ng 8 s ạ ế để ộ ố
b ng ba b c. ằ ướ
P1 •
P2 • • P3
P4 • P5 • •P6 •P7
Bước 1: dùng P4 để cộng x1 với x2,
dùng P5 để cộng x3 với x4, dùng P6
để cộng x5 với x6, dùng P7 để cộng
x7 với x8.
Bước 2: dùng P2 để cộng x1+x2 với
x3+x4, dùng P3 để cộng x5+x6 với
x7+x8.
Bước 3: dùng P1 để cộng x1+x2+
x3+x4 với x5+x6+ x7 +x8.
15
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
3. T NH CH T C A C Y.Í Ấ Ủ Â
•
NH LÝ 2. ĐỊ Cây v i n nh có úng n-1 c nh.ớ đỉ đ ạ
•
Ch ng minh. ứ Ch n nh r l m g c c a cây. Có phép ọ đỉ à ố ủ
t ng ng m t-m t: nh khác g c ng v i c nh n i ươ ứ ộ ộ đỉ ố ứ ớ ạ ố
v i nh cha c a nó. ớ đỉ ủ
•
Có n-1 nh khác g c đỉ ố ⇒ có n-1 c nh. ạ
•
NH LÝ 3. ĐỊ Cây m-phân y v i i nh trong s có t t đầ đủ ớ đỉ ẽ ấ
c n= m.i +1 nh.ả đỉ
•
Ch ng minh. ứ M i nh tr g c l con c a m t nh ỗ đỉ ừ ố à ủ ộ đỉ
trong. M i nh trong có m con, i nh trong có m.i nh ỗ đỉ đỉ đỉ
con khác g c. V y n= m.i+1 nh. l cmố ậ đỉ Đ đ
16
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
Gi s T l cây m-phân y v i n nh, i nh ả ử à đầ đủ ớ đỉ đỉ
trong v p lá. à
•
nh lý 4. TĐị m-phân y n u:đầ đủ ế
•
a) T có n nh đỉ ⇒T có i =(n-1)/m;
p=[(m-1)n+1]/m lá,
•
b) T có i nh trong đỉ ⇒ n=mi+1; p=(m-1)i+1
•
c).T có p lá ⇒ có n=(mp-1)/(m-1); i=(p-1)/(m-1),
•
Ch ng minh ứ . Ta có
•
+ n=mi+1 (1); ( lý 3) v n=p+i (2)đ à
•
+ T (1) ta c i=(n-1)/m. Th v o (2) ta có p=n-i=n-(n-ừ đượ ế à
1)/m = [(m-1)n+1]/m lá, t c l ta có a)ứ à
17
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
M c c a nh v trong cây có g c l d i c a ứ ủ đỉ ố à độ à ủ
ng i duy nh t t g c t i nó. M c c a g c đườ đ ấ ừ ố ớ ứ ủ ố
b ng không. ằ
•
cao c a cây l m c cao nh t c a t t c các Độ ủ à ứ ấ ủ ấ ả
nh hay cao l chi u d i c a ng i d i đỉ độ à ề à ủ đườ đ à
nh t t g c t i m t lá n o ó.ấ ừ ố ớ ộ à đ
•
Cây cân b ng l cây m các cây con t i m i nh ằ à à ạ ỗ đỉ
có chi u cao g n nh nhau. ề ầ ư
18
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
NH LÝ 5.ĐỊ Có nhi u nh t mề ấ
h
lá trong cây m-phân
v i cao h.ớ độ
•
Ch ng minhứ . CM b ng quy n p theo h. ằ ạ
•
B C C S . T cây m-phân có chi u cao h=1. T ƯỚ Ơ Ở ề
g m g c v m con, m i con l m t lá. T có p=mồ ố à ỗ à ộ
1
lá.
•
B C QUY N P.ƯỚ Ạ
•
Gi s cây m-phân cao h-1 có pả ử ≤ m
h-1
lá.
•
G i T- cây m-phân, cao h. ọ
•
Xóa các c nh n i t g c t i các nh m c 1. ạ ố ừ ố ớ đỉ ở ứ
•
M i cây con có chi u cao ỗ ề ≤ h-1,theo GTQN s có ẽ ≤
m
h-1
lá.
•
Do T có m cây con, nên T có p ≤ m.m
h-1
=m
h
lá.
pcm.đ
19
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
•
Minh h a b c quy n pọ ướ ạ
Gốc
Cây con 1
cao ≤ h-1
Cây con m
cao ≤ h-1
Cây con i
cao ≤ h-1
20
I. CÂY VÀ TÍNH CHẤT CỦA CÂY
H qu 1ệ ả . N u cây m-phân cao h có p lá, khi ó hế đ ≥
log
m
p. N u cây m-phân ế y đầ đủ v àcân b ngằ , khi
ó đ h = log
m
p.
•
Ch ng minhứ . T lý 5 ta có ừđ p ≤ m
h
→ h≥ log
m
p →
h≥ log
m
p.
•
Cây cân b ng ằ ⇒ m i lá u m c h ho c h-1, ọ đề ở ứ ặ
•
Chi u cao l h ề à ⇒ có ít nh t m t lá m c hấ ộ ở ứ
⇒ s lá ố p > m
h-1
•
V y mậ
h-1
<p ≤ m
h
. ⇒ h-1 < log
m
p ≤ h.
•
⇒ h = log
m
p.
21
II CÁC ỨNG DỤNG CỦA CÂY
C C B I TO N S D NG MÔ HÌNH C YÁ À Á Ử Ụ Â
L u tr các m c tin v o trong m t danh sách ư ữ ụ à ộ
để tìm ki mế nhanh chóng
Xác nh dãy các quy t nh tìm m t i đị ế đị để ộ đố
t ng có tính ch t n o ó trong t p h p các ượ ấ à đ ậ ợ
i t ng. đố ượ
Mã hóa t p các ch cái b ng các dãy nh phân ậ ữ ằ ị
hi u qu nh t.ệ ả ấ
22
II CÁC ỨNG DỤNG CỦA CÂY
1. C Y TÌM KI M NH PH NÂ Ế Ị Â
Mỗi đỉnh được gán một khóa:
a) giá trị của khóa xác định
duy nhất một mục tin
b) khóa (các đỉnh cây con trái)
< khóa (đỉnh )
< khóa (các đỉnh cây con phải)
9
14
4 15
127
10
186
23
II. Các ứng dụng của cây
•
Th t c quy xây d ng CTKNPủ ụ đệ ự .
Cho m t DS các m c tin, m i m c tin có m t ộ ụ ỗ ụ ộ
tr ng khoá. Xây d ng CTKNP: ườ ự
•
M c tin u tiên - l m g c. ụ đầ à ố
•
Thêm m t m c tin m i.ộ ụ ớ So sánh khoá c a nó v i ủ ớ
khóa c a các nh ã có, b t u t g c.ủ đỉ đ ắ đầ ừ ố
•
if khoá (m c tin) <khóa ( nh)ụ đỉ
•
if ( nh n y có con trái) i sang trái;đỉ à đ
•
else t o nh m i có khóa= ạ đỉ ớ khoá (m c tin) ụ
24
II CÁC ỨNG DỤNG CỦA CÂY
•
if khoá (m c tin) > khóa ( nh)ụ đỉ
if ( nh n y có con ph i) i sang ph i;đỉ à ả đ ả
else t o nh m i có khóa= ạ đỉ ớ khoá (m c tin) ụ
•
Quá trình n y ti p t c cho n khi không còn à ế ụ đế
m c tin n o. ụ à
25
II CÁC ỨNG DỤNG CỦA CÂY
Ví d .ụ
Hãy xây dựng CTKNP
cho các từ sau:
mathematics,
physics, geography,
zoology, meteology,
geology, psychology
và chemistry
(dùng thứ tự từ điển).
maths
geogr
chemic
physics
zoologygeolog
psych
meteo