Định nghĩa ̈ Định nghĩa cây: ̊Cây làđ àthị liên thông vàkhông cóchu trình ̊Một rừng p cây là một đ àthị gồm p thành phần liên thông, trong đ ùmỗi thành phần liên thông làmột cây ̈ Ghi c
Trang 1Định nghĩa
̈ Định nghĩa cây:
̊Cây làđ àthị liên thông vàkhông cóchu trình
̊Một rừng p cây là một đ àthị gồm p thành phần liên
thông, trong đ ùmỗi thành phần liên thông làmột cây
̈ Ghi chú: Định nghĩa cây hàm ýrằng mọi cây đ àu không
chứa khuyên cũng không chứa cạnh song song
Trang 2Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 3
Định nghĩa
̈ Vídụ.G vàG1không làcây
(G1) (G)
Định nghĩa
̈ Ví dụ.(G2) và (G3) là cây (chú ý định nghĩa chu trình
của đ àthị cóh ớng trong chương I)
̈ Vídụ.G2 vàG3làcây (chúýđịnh nghĩa chu trình của đồ
thị cóh ớng trong chương I)
Trang 3Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 5
Định lý
̈ Nếu một cây T gồm n đỉnh với n ≥ 2 thì T chứa ít nhất
hai đỉnh treo
Định lý
̈ Xét một đ àthị G gồm n đỉnh, các khẳng định sau đây là
tương đương:
̊(a) Đồthị G làcây
̊(b) Giữa hai đỉnh bất kỳ của G, tồn tại duy nhất một
dây chuyền nối chúng với nhau
̊(c) G liên thông tối tiểu (nghĩa làG liên thông vànếu
xóa đi bất kỳ một cạnh nào của G thì nó không còn
liên thông nữa)
Trang 4Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 7
Định lý
̈ Xét một đ àthị G gồm n đỉnh, các khẳng định sau đây là
tương đương (tt):
̊(d) Thêm một cạnh nối 2 đỉnh bất kỳcủa G thì G sẽ
chứa một chu trình duy nhất
̊(e) G liên thông vàcón-1 cạnh
̊(f) G không cóchu trình vàcón-1 cạnh
Cây tối đại
(cây phủ, cây bao trùm, cây khung)
̊Cho G=(X, E) làmột đồthị liên thông vàT=(X, F) là
một đ à thị bộ phận của G Nếu T là cây thì T được
gọi làmột cây tối đ ïi của G
̈ Định lý (sự tồn tại cây tối đại)
̊Mọi đ àthị liên thông đều cóchứa ít nhất một cây tối
đ ïi
Trang 5Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 9
Cây tối đại
(cây phủ, cây bao trùm, cây khung)
̈ Thuật toán PRIM (tìm một cây tối đại của đồ thị G)
Cho G=(X, E) là một đ à thị liên thông gồm n đỉnh
Thuật toán sau đây cho phép tìm ra được một cây tối
đ ïi của G
̊Bư ùc1 Chọn tùy ýv ∈X vàkhởi tạo V := { v }; T :=
∅
̊Bư ùc 2 Chọn w∈X \ V sao cho có một cạnh e nào
đ ùcủa G nối w với một đỉnh trong V
̊Bư ùc 3 Gán V := V ∪{w} vàT := T ∪{e}
̊Bư ùc 4 Nếu T đ ûn-1 phần tửthìdừng, ngư ïc lại làm
tiếp tục bư ùc 2
Cây tối đại ngắn nhất
̊(a) Đồthị G được gọi làcótrọng nếu mỗi cạnh của G
được tương ứng với một số thực dương, nghĩa là có
một ánh xạnhưsau:
L: E ⎯⎯→|R+
e |⎯⎯→L(e)
̊Thuật ngữ thường dùng: trọng, trọng lư ïng, chiều
dài, chi phí, …
Trang 6Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 11
Cây tối đại ngắn nhất
̊(b) Trọng lư ïng (hay giá) của một cây tối đ ïi T trong
đ à thị liên thông cótrọng bằng với tổng trọng lư ïng
các cạnh trong cây:
L(T) = ∑(e∈T)L(e)
̊(c) Giả sử G liên thông có trọng Cây tối đại ngắn
nhất của G làcây tối đại cótrọng lư ïng nhỏnhất khi
xét trong tập hợp tất cảcác cây tối đ ïi cóthể cócủa
G
Thuật toán Prim
̈ Cho G=(X, E) là một đồ thị liên thông có trọng gồm n
đỉnh Thuật toán Prim được dùng để tm ra cây tối đ ïi
ngắn nhất của G
̈ Bư ùc 1 Chọn tùy ýv ∈X vàkhởi tạo Y := { v }; T := ∅
̈ Bư ùc 2 Trong sốnhững cạnh e nối đỉnh w với v màw ∈
X\V vàv ∈Y ta chọn cạnh cótrọng lư ïng nhỏnhất
̈ Bư ùc 3 Gán Y := Y ∪{w} vàT := T ∪{e}
̈ Bư ùc 4 Nếu T đ û n-1 phần tử thì dừng, ngư ïc lại làm
tiếp tục bước 2
Trang 7Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 13
Thuật toán Prim
̈ Cài đ ët thuật toán Prim
̈ Trong các thuật toán tìm cây tối đ ïi ngắn nhất chúng ta
cóthểbỏđi hư ùng các cạnh vàcác khuyên; đ ái với các
cạnh song song thì có thể bỏ đi và chỉ đ å lại một cạnh
trọng lư ïng nhỏ nhất trong chúng Vì vậy dữ liệu nhập
cho thuật toán thư øng là ma trận trọng lượng được qui
ư ùc nhưsau:
trọng lư ïng cạnh nhỏnhất nối i đ án j nếu có
̈ Lij=
0 nếu không cócạnh nối i đ án j
Thuật toán Kruskal
̈ Cho đ àthị G=(X, E)
̈ Bư ùc 1 Sắp xếp các cạnh theo thứ tự trọng lư ïng tăng
dần vàkhởi tạo T := ∅
̈ Bư ùc 2 Lần lư ït lấy từng cạnh e thuộc danh sách đã sắp
xếp Nếu T+{e} không chứa chu trình thì gán
T := T+{e}
̈ Bư ùc 3 Nếu T đ û n-1 phần tử thì dừng, ngư ïc lại làm
tiếp tục bước 2
Trang 8Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 15
̈ Đồ thị có gốc
̊Cho G=(X, E) là một đ à thị có h ớng Ta nói G là
một đ àthị cógốc nếu tồn tại đỉnh r ∈X sao cho từ r
cóđường điđ án tất cảcác đỉnh khác của đ àthị
̊Chú ý định nghĩa trong chương 1 về đường đi trong
đ àthị cóhư ùng
̈ Đồ thị (G1): các đỉnh b, c, d đ àu là gốc; đỉnh a không
phải làgốc
̈ Đồthị (G2) không phải làđ àthị cógốc
a
(G2)
d
Trang 9Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 17
̈ Cho G=(X, E) làmột đ àthị cóhư ùng Ta nói G làđ àthị
tựa liên thông mạnh nếu: với mọi đỉnh i, j ∈ X luôn tồn
tại một đỉnh k ∈X sao cho cóđường đi từ k đến i vàcó
đường đi từk đ án j
̈ Nhận xét:
̊Từcác định nghĩa ta suy ra ngay tính chất sau đối với
một một đ àthị cóh ớng:
Cógốc ⇒Tựa liên thông mạnh ⇒Liên thông
̊Do tính chất h õu hạn của các đ àthị trong giáo trình
nầy, chúng ta cũng cóđịnh lýsau đây
̈ Định lý.
Trang 10Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 19
̈ Cho G=(X, E) làmột đ àthị cóh ớng G được gọi làcây
cóhư ùng nếu:
̊(a) G không cóchu trình,
̊(b) G cógốc
̈ Ghi chú
̊Theo định nghĩa trong chương 1, một chu trình cóthể
không kểđến hư ùng của các cạnh
̊Từđịnh nghĩa ta suy ra cây cóh ớng cũng làcây
̊Khái niệm cây có h ớng trong định nghĩa trên vẫn
còn tổng quát hơn khái niệm cây trong các giáo trình
tin học (chẳng hạn như giáo trình cấu trúc dữ liệu)
Các cây trong các giáo trình tin học được vẽ ra giấy
với nút gốc được vẽ trên cùng, nút cha luôn ở phía
trên, ngoài ra phải cósự phân biệt giữa cây con bên
trái vàcây con bên phải
Trang 11Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 21
̈ Hai cây cóh ớng (T1) và (T2) xem như đ úng cấu nhau
trong giáo trình lý thuyết đ à thị nhưng chúng là hai cây
hoàn toàn khác nhau trong giáo trình cấu trúc dữ liệu
(T1) A
C B
F
(T2) A
E
̈ Cho G=(X, E) là một đ à thị có h ớng gồm n đỉnh Các
điều sau đây tương đương với nhau
̊(a) G làmột cây cóh ớng
̊(b) G có một đỉnh r và từ r tồn tại một đường đi duy
nhất đ án tất cảcác đỉnh còn lại
̊(c) G tựa liên thông mạnh tối tiểu (tức lànếu xóa bớt
bất kỳ một cạnh nào thì G sẽ không còn tựa liên
thông mạnh)
Trang 12Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 23
̈ Cho G=(X, E) là một đ à thị có h ớng gồm n đỉnh Các
điều sau đây tương đương với nhau
̊(d) G liên thông vàcóđỉnh r sao cho:
d-(r)=0 vàd-(i)=1, ∀i∈X\{r}
̊(e) G không cóchu trình vàcóđỉnh r sao cho:
d-(r)=0 vàd-(i)=1, ∀i∈X\{r}
̊(f) G tựa liên thông mạnh vàkhông cóchu trình
̊(g) G tựa liên thông mạnh vàcón-1 cạnh
̈ Ghi chú:
̊Đỉnh r trong định lý trên là duy nhất và được gọi là
gốc của cây cóhư ùng
̊Mỗi đỉnh i∈X, i≠r do d-(i)=1 nên có duy nhất một
đỉnh j mà cạnh liên kết với (j, i) hư ùng vào i, đỉnh j
được gọi đỉnh cha của I
̊Nếu đỉnh x∈X thỏa điều kiện d+(x)=0 thì x được gọi
làlácủa cây cóh ớng
Trang 13Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 25
̈ Cho G làđ àthị cóh ớng
̊(a) Nếu G có chứa một đồ thị bộ phận là cây có
h ớng thìG tựa liên thông mạnh
̊(b) Nếu G tựa liên thông mạnh thì G có chứa một đ à
thị bộphận làcây cóh ớng
̈ Ghi chú
̊Nếu G tựa liên thông mạnh, T làmột cây cóh ớng là
đ àthị bộphận G thìT cũng được gọi làcây cóh ớng
tối đ ïi của G
Ma trận Kirchoff
Định nghĩa
̈ Cho G=(X, E) làmột đồthị cóh ớng Ta định nghĩa ma
trận K nhưsau:
d-(i) nếu i=j
̈ Kij=
-Bijnếu i≠j (Trong đ ùBijlàphần tửởdòng i cột j của ma trận kề)
Trang 14Lý Thuyết Đồ Thị - Cây - Khoa CNTT - Đại học KHTN 27
Ma trận Kirchoff
̈ Định lý(Kirchoff)
̊GiảsửG làđ àthị cóhư ùng đơn, n đỉnh, n-1 cạnh có
ma trận Kirchoff làK
̊Gọi K(1, 1) là ma trận có được từ ma trận K bằng
cách bỏđi dòng 1 vàcột 1,
̊khi đ ùG làcây ngoài cógốc tại đỉnh 1∈X khi vàchỉ
khi det K(1, 1)=1