1. Trang chủ
  2. » Giáo án - Bài giảng

CÂY và một số ỨNG DỤNG

26 268 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 109,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

T là một cây nếu nó thỏa mãn hai tính chất sau: - liên thông, - không có chu trình... T không có chu trình nhưng nếu thêm một cạnh bất kỳ nối hai đỉnh không kề nhau thì có chu trình.. Kh

Trang 1

CHƯƠNG 11

CÂY VÀ MỘT SỐ ỨNG DỤNG

Trang 3

11.1 KHÁI NIỆM CÂY

Khái niệm cây do Cayley đưa ra vào năm 1857

Định nghĩa: Giả sử T = (V, E) là một đồ thị vô hướng

T là một cây nếu nó thỏa mãn hai tính chất sau:

- liên thông,

- không có chu trình

Trang 5

11.1 KHÁI NIỆM CÂY (tiếp)

Định lý 11.1: Cho T là đồ thị vô hướng có số đỉnh không

ít hơn 2 Khi đó các khẳng định sau là tương đương:

1 T là một cây

2 T không có chu trình và có n - 1 cạnh.

3 T liên thông và có n - 1 cạnh.

4 T không có chu trình nhưng nếu thêm một cạnh

bất kỳ nối hai đỉnh không kề nhau thì có chu trình

5 T liên thông nhưng nếu bớt đi một cạnh bất kỳ thì

sẽ mất tính liên thông

6 Chỉ có duy nhất một đường đi nối hai đỉnh bất kỳ

Trang 6

11.1 KHÁI NIỆM CÂY (tiếp)

Chứng minh: Chú ý rằng đồ thị T không có chu trình

khi và chỉ khi chu số của nó bằng 0, nghĩa là: m = n - p.

1) ⇒ 2) : Vì p = 1 và m = n - p suy ra: m = n - 1

2) ⇒ 3) : m = n - p, m = n - 1 cho nên p = 1.

3) ⇒ 4) : p = 1, m = n - 1 suy ra: m = n - p Vậy thì

c(T) = 0, đồ thị T không có chu trình Thêm một cạnh

vào thì m tăng thêm 1 còn n, p không đổi Khi đó chu

số c(T) = m - n + p = 1 Đồ thị có một chu trình.

Trang 7

11.1 KHÁI NIỆM CÂY (tiếp)

Chứng minh:

4) ⇒ 5) : c(T) = 0 nên m = n - p

Phản chứng: đồ thị T không liên thông, có ít nhất hai

đỉnh a, b không liên thông Thêm cạnh (a, b) vào đồ

thị vẫn không có chu trình Mâu thuẫn với điều 4)

Vậy đồ thị phải liên thông, nghiã là p = 1 Suy ra: m =

n - 1 Khi bớt đi một cạnh bất kỳ, đồ thị vẫn không có

chu trình Do đó m - 1 = n - p' Suy ra p' = 2 và đồ thị

mất tính liên thông

Trang 8

11.1 KHÁI NIỆM CÂY (tiếp)

Chứng minh:

5) ⇒ 6) : Đồ thị T liên thông nên có đường đi đơn nối

mỗi cặp đỉnh Giả sử cặp đỉnh a, b được nối bằng hai

đường đi đơn khác nhau

Khi đó có cạnh e thuộc đường đi này nhưng không

thuộc đường đi kia Ta bỏ cạnh e này đi, đồ thị vẫn liên

thông Trái với điều 5)

Trang 9

11.1 KHÁI NIỆM CÂY (tiếp)

Chứng minh:

6) ⇒ 1) : Suy ra đồ thị T liên thông

Phản chứng: T có chu trình Vậy thì giữa hai đỉnh của chu trình có thể nối bằng hai đường đơn khác nhau Mâu thuẫn với điều 6)

Trang 10

11.2 CÂY BAO TRÙM

Định nghĩa 11.2

Giả sử G là một đồ thị vô hướng

Cây T được gọi là cây bao trùm của đồ thị G nếu T là một đồ thị riêng của G

Trang 12

11.2 CÂY BAO TRÙM (tiếp)

Trang 13

11.2 CÂY BAO TRÙM (tiếp)

a

D0 D1 D2

Hình 11.4 Cách xây dựng cây bao trùm

Trang 14

11.2 CÂY BAO TRÙM (tiếp)

Chú ý: Mỗi đỉnh x thuộc D i (i 1) đều có đỉnh y thuộc

Di-1 sao cho (x, y) là một cạnh, vì nếu < a, , y, x > là đường đi ngắn nhất nối a với x thì < a, , y > là đường đi ngắn nhất nối a với y và y ∈ Di-1

Trang 15

11.2 CÂY BAO TRÙM (tiếp)

Chứng minh: Lập tập cạnh T như sau:

Với mỗi đỉnh x của đồ thị G, x ∈ Di với i ≥ 1, ta lấy

cạnh nào đó nối x với một đỉnh trong D i-1

Tập cạnh này sẽ tạo nên một đồ thị riêng của G với n đỉnh và n - 1 cạnh

Đồ thị riêng này liên thông vì mỗi đỉnh đều được nối

với đỉnh a Theo tính chất 3) của cây thì T là một cây.

Do vậy, T là cây bao trùm của đồ thị G

Trang 16

11.2 CÂY BAO TRÙM (tiếp)

Định lý 11.3 (Borchardt): Số cây bao trùm của một đồ

thị vô hướng đầy đủ n đỉnh là n n – 2

Một số thuật toán tìm cây bao trùm:

- Thuật toán sử dụng phương pháp duyệt theo chiều sâu

- Thuật toán sử dụng phương pháp duyệt theo chiều rộng

Trang 17

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

Thuật toán 11.1 (Tìm cây bao trùm bằng phương pháp

duyệt theo chiều sâu)

Dữ liệu: Biểu diễn mảng DK các danh sách kề của đồ thị vô hướng G

Kết quả: Cây bao trùm (V, T) của đồ thị G.

Trang 18

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

5 if ! Duyet [u] then

6 begin T := T ∪ {(v, u)} ; CBT_S (u) end

7 end ;

Trang 19

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

Trang 20

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

(tiếp)

 Tính đúng đắn của thuật toán: :

1 Khi ta thêm cạnh (v, u) vào tập cạnh T thì trong đồ thị

(V, T) đã có đường đi từ z tới v Vậy thuật toán xây

dựng lên đồ thị liên thông

2 Mỗi cạnh mới (v, u) được thêm vào tập T có đỉnh v đã

được duyệt và đỉnh u đang duyệt Vậy đồ thị đang

được xây dựng không có chu trình

3 Theo tính chất của phép duyệt theo chiều sâu, thủ tục

CBT_S thăm tất cả các đỉnh của đồ thị liên thông G

Trang 21

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

Trang 22

9

Hình 11.5 Cây bao trùm của đồ thị tìm theo

phương pháp duyệt theo chiều sâu

Trang 23

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

Trang 24

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

Trang 25

11.3.THUẬT TOÁN TÌM CÂY BAO TRÙM

(tiếp)

7 while Q ≠ ∅ do

8 begin deqưeue v from Q ;

9 for u DK[v] do

10 if ! Duyet [u] then

11 begin enqueue u into Q ;

12 Duyet [u] := true ;

13 T := T ∪ {(v, u)} end

14 end

Trang 26

11.3 THUẬT TOÁN TÌM CÂY BAO TRÙM

(tiếp)

 Độ phức tạp của thuật toán: O(m+n).

Ví dụ: Áp dụng thuật toán trên cho đồ thị (nét mảnh) ta nhận được cây bao trùm (nét đậm) như sau:

7

9

Hình 11.6 Cây bao trùm của đồ thị tìm theo

Ngày đăng: 29/12/2015, 21:52

HÌNH ẢNH LIÊN QUAN

C(T) = 0, đồ thị T  không có chu trình. Thêm một cạnh  vào thì  m  tăng thêm 1 còn  n, p  không đổi - CÂY và một số ỨNG DỤNG
đồ thị T không có chu trình. Thêm một cạnh vào thì m tăng thêm 1 còn n, p không đổi (Trang 6)
Hình 11.4.  Cách xây dựng cây bao trùm - CÂY và một số ỨNG DỤNG
Hình 11.4. Cách xây dựng cây bao trùm (Trang 13)

TỪ KHÓA LIÊN QUAN

w