29
BÀI TẬP TOÁN RỜI RẠC ---&0&--- CHƯƠNG 5: CÂY CÂY

Tài Liệu Bài Toán Rời Rạc Cây

Embed Size (px)

DESCRIPTION

Tài Liệu Bài Toán Rời Rạc Cây

Citation preview

Page 1: Tài Liệu Bài Toán Rời Rạc Cây

BÀI TẬP TOÁN RỜI RẠC---&0&---

CHƯƠNG 5:

CÂYCÂY

Giảng viên : Nguyễn Mậu Hân

Page 2: Tài Liệu Bài Toán Rời Rạc Cây

Sinh viên thực hiện : Nguyễn Thị Diệu HằngLớp : TinK30D

* Bài 1:Vẽ tất cả các cây ( không đẳng cấu ) có:a) 4 đỉnh b) 5 đỉnh c) 6 đỉnh

Lời giải:a)

b)

c)

Page 3: Tài Liệu Bài Toán Rời Rạc Cây

* Bài 2:Một cây có n2 đỉnh bậc 2, n3 đỉnh bậc 3, ..., nk đỉnh bậc k. Hỏi có bao

nhiêu đỉnh bậc 1?Lời giải:

Gọi n1: số đỉnh bậc 1 của cây.Ta có:

- Số đỉnh của cây: n1+n2+n3+...+nk

- Số cạnh của cây: n1+n2+n3+...+nk-1- Số bậc của cây: n1+2.n2+3.n3+...+k.nk

Cây là một đồ đơn đồ thị, do vậy, nó sẽ có tổng bậc bằng 2 lần số cạnh. Tức là:

n1+2.n2+3.n3+...+k.nk=2(n1+n2+n3+...+nk-1) n1= n3+2n4+...+(k-2)nk+2

* Bài 3:Tìm số tối đa các đỉnh của một cây m-phân có chiều cao h.

Lời giải:Cây m-phân có chiều cao h. Vậy trong cây này, các đỉnh sẽ được xếp

vào h+1mức(từ mức 0đến mức h).Số đỉnh của cây chính là tổng các đỉnh trong các mức này .

Ta có: Giá trị max của:- Số đỉnh thuộc mức 0: 1 =m0 (do chỉ có 1 đỉnh gốc)- Số đỉnh thuộc mức 1: m = m1 - Số đỉnh thuộc mức 2: m.m= m2

- Số đỉnh thuộc mức 3: m.m.m= m3

- ...- Số đỉnh thuộc mức h: mh

Page 4: Tài Liệu Bài Toán Rời Rạc Cây

Suy ra:Số đỉnh tối đa của cây m-phân có chiều cao h là:

h

1+m1+m2+m3+...+mh = ∑mi i=0

* Bài 4:Có thể tìm được một cây có 8 đỉnh và thỏa điều kiện dưới đây hay

không? Nếu có, vẽ ra, nếu không, giải thích tại sao:a) Mọi đỉnh đều có bậc 1.b) Mọi đỉnh đều có bậc 2.c) Có 6 đỉnh bậc 2 và 2 đỉnh bậc 1.d) Có đỉnh bậc 7 và 7 đỉnh bậc 1.

Lời giải:a) Không có. Giải thích: Cây là một đơn đồ thị liên thông, không chứa chu trình

và có ít nhất 2 đỉnh. Trong đơn đồ thị liên thông, giữa 2 đỉnh bất kì luôn tồn tại đường đi giữa chúng nên trong cây sẽ chứa một số đỉnh có bậc khác 1.

b) Không có. Giải thích: Ta có: Nếu T là một cây có n đỉnh thì T có ít nhất 2

đỉnh treo( có bậc 1). Vậy, không thể tìm ra một cây có mọi đỉnh đều có bậc 2.

c) Có. Ví dụ:

d) Có. Ví dụ:

* Bài 5:Chứng minh hoặc bác bỏ các mệnh đề sau:a) Trong một cây, đỉnh nào cũng là đỉnh cắt

Page 5: Tài Liệu Bài Toán Rời Rạc Cây

b) Một cây có số đỉnh không nhỏ hơn 3 thì có nhiều đỉnh cắt hơn là cầu.

Lời giải:a) Trong một cây, đỉnh nào cũng là đỉnh cắt.Mệnh đề trên sai. Trong một cây luôn có ít nhất 2 đỉnh treo và đỉnh treo không phải là

đỉnh cắt(do khi xóa nó và cạnh liền kề với nó thì không tạo ra nhiều thành phần lên thông hơn).

b) Một cây có số đỉnh không nhỏ hơn 3 thì có nhiều đỉnh cắt hơn là cầu.

Mệnh đề trên sai.Cho một cây T có n đỉnh. Trong một cây, mỗi cạnh đều là cầu. Như

vậy, số cầu của T là n-1( do trong T có n-1 cạnh).Mặt khác, trong một cây, ngoài các đỉnh treo thì tất cả các đỉnh còn lại

đều là đỉnh cắt.Một cây chứa ít nhất 2 đỉnh treo, do đó số đỉnh cắt lớn nhất có thể có là n-2

Số cầu = n-1Số đỉnh cắt ≤ n-2Vậy, trong một cây, cầu có nhiều hơn đỉnh cắt.

* Bài 6:Có 4 đội bóng đá A, B, C, D lọt vào vòng bán kết giải đội mạnh khu

vực. Có mấy dự đoán xếp hạng như sau:- Đội B vô địch, đội D nhì.- Đội B nhì, đội C ba.- Đội A nhì, đội C tư.Biết rằng mỗi dự đoán trên đúng về một đội. Hãy cho biết kết quả xếp hạng của các đội.

Lời giải:Theo đề ra thì mỗi dự đoán đúng về một đội.Giả sử ở dự đoán đầu tiên: B vô địch, D nhì thì dự đoán về D

đúng.Vậy D nhì.Ở dự đoán 2: B nhì, C ba.Do D nhì nên dự đoán B nhì không

đúng → C ba đúng.Ở dự đoán 3: A nhì, C tư.Do C đứng thứ ba nên dự đoán C tư

sai → A nhì( vô lý, do dự đoán D nhì là đúng)Vậy ở dự đoán đầu tiên, dự đoán B vô địch đúng.B vô địch nên ở dự

đoán 2, dự đoán đội C ba đúng, và ở dự đoán thứ 3 đội A nhì đúng, và cuối cùng, đội D đứng thứ tư.

Page 6: Tài Liệu Bài Toán Rời Rạc Cây

Xếp hạng các đội là:Vô địch : BNhì : ABa : CTư : D

* Bài 7:Cây Fibonacci có gốc Tn được định nghĩa bằng hồi quy như sau: T1

và T2 đều là cây có gốc chỉ gồm 1 đỉnh; với n=2, 3, 4... thì cây có gốc Tn được xây dựng từ gốc với Tn-1 như là cây con bên trái và Tn-2 như cây con bên phải.

a) Hãy vẽ 7 cây Fibonacci có gốc đầu tiênb) Cây Fibonacci Tn có bao nhiêu đỉnh, lá và bao nhiêu đỉnh trong.

Chiều cao của nó bằng bao nhiêu?Lời giải:

a) 7 cây Fibonacci có gốc đầu tiên:

Dự đoán

B vô địch

D nhì

C ba

C ba

A nhì

A nhì

Vô lí

Page 7: Tài Liệu Bài Toán Rời Rạc Cây

T1 T2 T3 T4

T5

T6

Page 8: Tài Liệu Bài Toán Rời Rạc Cây

b)Gọi li, ni và ti lần lượt là số lá, đỉnh và đỉnh trong của cây Fibonacci

Ti(i≥3), hi là chiều cao.Ta có:li = li-1 + li-2

ni = ni-1 + ni-2 + 1ti = ni - li

hi = hi-1 + 1Trường hợp riêng:l1 = l2 = 1n1 = n2 = 1h1 = h2 = 0

* Bài 8:Hãy tìm cây khung của đồ thị sau bằng cách xóa đi các cạnh trong

các chu trình đơn:a)

T7

d

h i j

e f g

a b c

Page 9: Tài Liệu Bài Toán Rời Rạc Cây

Lời giải:Có nhiều cây khung có thể được tạo ra bằng cách xóa đi các cạnh

trong các chu trình đơn. Sau đây là một số ví dụ:a)

a b

c dfghh

e

h

f

k

i j

g

l

d

h i j

e f g

a b c

d

h i j

e f g

a b c

Page 10: Tài Liệu Bài Toán Rời Rạc Cây

b)

d

h i j

e f g

a b c

a b

c dfghh

e

h

f

k

i j

g

l

a b

c dfghh

e

h

f

k

i j

g

l

Page 11: Tài Liệu Bài Toán Rời Rạc Cây

* Bài 9:Hãy tìm cây khung cho mỗi đồ thị sau:

a) K5 b) K4,4 c) K1,6

d) Q3 e) C5 f) W5

Lời giải:a) K5

b) K4,4

Page 12: Tài Liệu Bài Toán Rời Rạc Cây

c) K1,6

Bản thân K1,6 là một cây khung.d) Q3

e) C5

K1,6

Page 13: Tài Liệu Bài Toán Rời Rạc Cây

f) W5

* Bài 10:Đồ thị Kn với n=3, 4, 5 có bao nhiêu cây khung không đẳng cấu

Lời giải:K3: có 1 cây khung

K4: có 2 cây khung( không đẳng cấu )

K5:

Page 14: Tài Liệu Bài Toán Rời Rạc Cây

* Bài 11:Tìm cây khung nhỏ nhất của đồ thị sau theo thuật toán Kruskal và

Prim:

Lời giải:

+ Giải theo thuật toán Kruskal:Thứ tự của các cạnh sắp xếp theo thứ tự không giảm:

(d,e), (b,f), (c,d), (a,c), (d,g), (g,h), (h,f), (a,e), (e,f), (b,e), (c,g), (d,h), (a,b)Bắt đầu từ đồ thị rỗng T có 6 đỉnh.- Thêm vào T cạnh (d,e)→ số cạnh của T là 1<8-1- Thêm vào T cạnh (b,f) → số cạnh của T là 2<8-1- Thêm vào T cạnh (c,d)→ số cạnh của T là 3<8-1- Thêm vào T cạnh (a,c)→ số cạnh của T là 4<8-1- Thêm vào T cạnh (d,g)→ số cạnh của T là 5<8-1- Thêm vào T cạnh (g,h)→ số cạnh của T là 6<8-1- Thêm vào T cạnh (h,f)→ số cạnh của T là 7→ Dừng quá trình

thêm cạnh vào T. Đồ thị T vừa tạo ra chính là cây khung nhỏ nhất của đồ thị trên.

ET={(d,e), (b,f), (c,d), (a,c), (d,g), (g,h), (h,f)}

Độ dài cây khung T: 4+3+1+5+7+3+9=32

d

h

e f

g

a b

c

10

42

4 14 3

3 1 11

155

7

20 9

hg

c d e f

a b4

3 1

3

7

5 9

Page 15: Tài Liệu Bài Toán Rời Rạc Cây

+ Giải theo thuật toán Prim:Ta có ma trận trọng số của đồ thị trên là:

a b c d e f g ha ∞ 42 4 ∞ 10 ∞ ∞ ∞b 42 ∞ ∞ ∞ 14 3 ∞ ∞c 4 ∞ ∞ 3 ∞ ∞ 15 ∞d ∞ ∞ 3 ∞ 1 ∞ 5 20e 10 14 ∞ 1 ∞ 11 ∞ ∞f ∞ 3 ∞ ∞ 11 ∞ ∞ 9g ∞ ∞ 15 5 ∞ ∞ ∞ 7h ∞ ∞ ∞ 20 ∞ 9 7 ∞

V.lặp a b c d e f g h VT ET

K.Tạo - [a,42] [a,4] ∞ [a,10] ∞ ∞ ∞ a Ø1 - [a,42] - [c,3] [a,10] ∞ [c,15] ∞ a, c (a,c)2 - [a,42] - - [d,1] ∞ [d,5] [d,20] a,c,d (a,c),(c,d)3 - [e,14] - - - [e,11] [d,5] [d,20] a,c,d,e (a,c),(c,d)

(d,e)4 - [e,14] - - - [e,11] - [g,7] a,c,d,e,g (a,c),(c,d)

(d,e),(d,g)5 - [e,14] - - - [h,9] - - a,c,d,e,g,h (a,c),(c,d)

(d,e),(d,g),(g,h)

6 - [f,3] - - - - - - a,c,d,e,g,h,f (a,c),(c,d)(d,e),(d,g),(g,h),(h,f)

7 - - - - - - - - a,c,d,e,g,h,f,b (a,c),(c,d)(d,e),(d,g),(g,h),(h,f),

(f,b)

Vậy cây khung nhỏ nhất của đồ thị trên có độ dài là:4+3+1+5+7+9+3=32

Cây khung với tập cạnh:E={(a,c),(c,d)(d,e),(d,g),(g,h),(h,f),(f,b)}

* Bài 12:Tìm cây khung nhỏ nhất bằng thuật toán Prim của đồ thị gồm các

đỉnh A, B, C, D, E, F, H, I được cho bởi ma trận trọng số sau:

Page 16: Tài Liệu Bài Toán Rời Rạc Cây

A B C D E F H IA ∞ 16 15 23 19 18 32 20B 16 ∞ 13 33 24 20 19 11C 15 13 ∞ 13 29 21 20 19D 23 33 13 ∞ 22 30 21 12E 19 24 29 22 ∞ 34 23 21F 18 20 21 30 34 ∞ 17 14H 32 19 20 21 23 17 ∞ 18I 20 11 19 12 21 14 18 ∞

Yêu cầu viết kết quả trung gian trong từng bước lặp, kết quả cuối cùng cần đưa ra tập cạnh và độ dài của cây khung nhỏ nhất.

Lời giải:

A B C D E F H I VT ET

- [A,16] [A,15] [A,23] [A,19] [A,18] [A,32] [A,20] A Ø- [C,13] - [C,13] [A,19] [A,18] [C,20] [C,19] A,C (A,C)- - - [C,13] [A,19] [A,18] [B,19] [B,11] A,C,B (A,C),(C,B)- - - [I,12] [A,19] [I,14] [I,18] - A,C,B,I (A,C),(C,B)

(B,I)- - - - [A,19] [I,14] [I,18] - A,C,B,I,D (A,C),(C,B)

(B,I),(I,D)- - - - [A,19] - [F,17] - A,C,B,I,D,F (A,C),(C,B)

(B,I),(I,D),(I,F)

- - - - [A,19] - - - A,C,B,I,D,F,H (A,C),(C,B)(B,I),(I,D),(I,F),(F,H)

- - - - - - - - A,C,B,I,D,F,H,E (A,C),(C,B)(B,I),(I,D),(I,F),(F,H),

(A,E)

Độ dài cây khung nhỏ nhất tìm được:15+13+11+12+14+17+19=101

Tập cạnh của cây khung nhỏ nhất:E={(A,C),(C,B)(B,I),(I,D),(I,F),(F,H),(A,E)}

* Bài 13:Duyệt các cây sau đây lần lượt bằng các thuật toán tiền thứ tự, trung

thứ tự và hậu thứ tự:

Page 17: Tài Liệu Bài Toán Rời Rạc Cây

a)

b)

Lời giải:a)* Duyệt theo tiền thứ tự:1. Thăm a.2. Duyệt T(b):

2.1. Thăm b.2.2. Duyệt T(d): Thăm d.2.3. Duyệt T(e):

2.3.1. Duyệt T(g): Thăm g.3. Duyệt c:

3.1. Thăm c3.2. Duyệt T(f):

3.2.1. Thăm f

g

ed

ji

h

f

b c

a

ed

cb

a

h i

m n

p q

f g

lj k

o

Page 18: Tài Liệu Bài Toán Rời Rạc Cây

3.2.2. Duyệt T(h):3.2.2.1. Thăm h3.2.2.2. Duyệt T(i): Thăm i3.2.2.3. Duyệt T(j): Thăm j

Kết quả duyệt cây theo tiền thứ tự là:a, b, d, e, g, c, f, h, i, j

* Duyệt theo trung thứ tự:1. Duyệt T(b):

1.1. Duyệt T(d): Thăm d1.2. Thăm b1.3. Duyệt T(e):

1.3.1. Duyệt T(g): Thăm g1.3.2. Thăm e

2.Thăm a3. Duyệt T(c):

3.1. Thăm c3.2 Duyệt T(f):

3.1.1. Duyệt T(h):3.1.1.1. Duyệt T(i): Thăm i3.1.1.2. Thăm h3.1.1.3. Duyệt T(j): Thăm j

Kết quả duyệt cây theo trung thứ tự:d, b, g, e, a, c, i, h, j, f

* Duyệt theo hậu thứ tự:1. Duyệt T(b):

1.1. Duyệt T(d): Thăm d1.2. Duyệt T(e):

1.2.1. Duyệt T(g): Thăm g1.2.2. Thăn e

1.3. Thăm b2. Duyệt T(c):

2.1.Duyệt T(f):2.1.1. Duyệt T(h):

2.1.1.1. Duyệt T(i): Thăm i2.1.1.2. Duyệt T(j): Thăm j2.1.1.3.Thăm h

2.1.2.Thăm f2.2. Thăm c

Page 19: Tài Liệu Bài Toán Rời Rạc Cây

3. Thăm aKết quả duyệt cây theo hậu thứ tự:

d,g, e, b, i, j, h, f, c, a

b) * Duyệt theo tiền thứ tự:1. Thăm a2. Duyệt T(b):

2.1. Thăm b2.2. Duyệt T(d): Thăm d2.3. Duyệt T(e):

2.3.1. Thăm e2.3.2. Duyệt T(g): Thăm g

3. Duyệt T(c):3.1. Thăm c3.2. Duyệt T(f):

3.2.1. Thăm f3.2.2. Duyệt T(h):

3.2.2.1. Thăm h3.2.2.2. Duyệt T(i): Thăm i3.2.2.3. Duyệt T(j): Thăm j

Kết quả duyệt cây theo tiền thứ tự:a, b, d, e, g, c, f, h, i, j

* Duyệt cây theo trung thứ tự:1. Duyệt T(b):

1.1. Duyệt T(d):1.1.1. Duyệt T(h): Thăm h1.1.2. Thăm d1.1.3. Duyệt T(i):

1.1.3.1. Duyệt T(m): Thăm m1.1.3.2. Thăm i1.1.3.3. Duyệt T(n):

1.1.3.3.1. Duyệt T(p): Thăm p1.1.3.3.2. Thăm n1.1.3.3.3. Duyệt T(q): Thăm q

1.2. Thăm b1.3. Duyệt T(e): Thăm e

2.Thăm a3. Duyệt T(c):

Page 20: Tài Liệu Bài Toán Rời Rạc Cây

3.1. Duyệt T(f):3.1.1. Duyệt T(j): Thăm j3.1.2. Thăn f3.1.3. Duyệt T(k):

3.1.3.1. Duyệt T(o): Thăm o3.1.3.2. Thăm k

3.2. Thăm c3.3. Duyệt T(g):

3.3.1. Thăm g3.3.2. Duyệt T(l): Thăm l

Kết quả duyệt cây theo trung thứ tự:h, d, m, i, p, n, q, b, e, a, j, f, o, k, c, g, l

* Duyệt cây theo hậu thứ tự:1. Duyệt T(b):

1.1. Duyệt T(d):1.1.1. Duyệt T(h): Thăm h1.1.2. Duyệt T(i):

1.1.2.1. Duyệt T(m): Thăm m1.1.2.2. Duyệt T(n):

1.1.2.2.1. Duyệt T(p): Thăm p1.1.2.2.2. Duyệt T(q): Thăm q1.1.2.2.3.Thăm n

1.1.2.3. Thăm i1.1.3. Thăm d

1.2. Duyệt T(e): Thăm e1.3. Thăm b

2. Duyệt T(c):2.1. Duyệt T(f):

2.1.1. Duyệt T(j): Thăm j2.1.2. Duyệt T(k):

2.1.2.1. Duyệt T(o): Thăm o2.1.2.2. Thăm k

2.1.3. Thăm f2.2. Duyệt T(g):

2.2.1. Duyệt T(l): Thăm l2.2.2. Thăm g

2.3. Thăm c3. Thăm a.Kết quả duyệt cây theo hậu thứ tự:

Page 21: Tài Liệu Bài Toán Rời Rạc Cây

h, m, p, q, n, i, d, e, b, j, o, k, f, l, g, c, a

* Bài 14:Viết các biểu thức sau đây theo kí pháp Ba Lan và kí pháp Ba Lan

đảo:

a)

b)

Lời giải:

a)

Ta có thể vẽ cây nhị phân tương ứng với biểu thức trên như sau:

Kết quả duyệt cây nhị phân trên theo tiền thứ tự sẽ cho ta cách viết của biểu thức trên theo kí pháp Ba Lan, nếu duyệt theo hậu thứ tự thì sẽ cho ta cách viết theo kí pháp Ba Lan đảo.

Vậy ta có biểu thức trên được biểu diễn theo: - Kí pháp Ba Lan:

+ / * + A B + C D + * - A B C D / + ↑ A 2 * B D - ↑ C 2 * B D- Kí pháp Ba Lan đảo:

A B + C D + * A B - C * D + / A 2 ↑ B D * + C 2 ↑ B D * - / +

b)

/

+

/

* +

+ +

A B C D

* D

- C

BA

-+

A 2

*

B D

C 2

*

B D

Page 22: Tài Liệu Bài Toán Rời Rạc Cây

Cây nhị phân tương ứng:

Kết quả duyệt cây nhị phân trên theo tiền thứ tự sẽ cho ta cách viết của biểu thức trên theo kí pháp Ba Lan, nếu duyệt theo hậu thứ tự thì sẽ cho ta cách viết theo kí pháp Ba Lan đảo.

Vậy ta có biểu thức trên được biểu diễn theo: - Kí pháp Ba Lan:

+ ↑ - ↑ - a b 4 + / c 3 * 5 d 2 * ↑ / - a d 3 4 / ↑ - + * 3 a * 4 b * 2 d 3 5- Kí pháp Ba Lan đảo:

a b - 4 ↑ c 3 / 5 d * + - 2 a d - 3 / 4 ↑ 3 a * 4 b * + 2 d * - 3 ↑ 5 / * +

* Bài 15:Viết các biểu thức sau đây theo kí pháp quen thuộc:a) x y + 2 ↑ x y – 2 ↑ - x y * /b) - * ↑ / - - a b * 3 c 2 4 ↑ - c d 5 * - - a c d / ↑ - b * 2 d 4 3

Lời giải:a) x y + 2 ↑ x y – 2 ↑ - x y * /

+

-

a b

4

+

-

2

/

c 3

*

5 d

*

/ 4

- 3

a d

/

5↑

- 3

+ *

* *

2 d

3 a 4 b

Page 23: Tài Liệu Bài Toán Rời Rạc Cây

(x+y) 2 ↑ (x-y) 2 ↑ - xy / (x+y)2 (x-y)2 - xy /

[ (x+y)2 – (x-y)2 ] xy /

[(x+y)2 – (x-y)2 ]__________________________

xy

b) - * ↑ / - - a b * 3 c 2 4 ↑ - c d 5 * - - a c d / ↑ - b * 2 d 4 3

- * ↑ / - (a-b) 3c 2 4 ↑ (c-d) 5 * - (a-c) d /↑ - b 2d 4 3

- * ↑ / (a-b-3c) 2 4 (c-d)5 * (a-c-d) / (b-2d)4 3

a-b-3c (b-2d)4

- * ↑ ________ 4 (c-d)5 * (a-c-d) _______

2 3

a-b-3c 4 (b-2d)4

- * ________ (c-d)5 (a-c-d) _______

2 3

a-b-3c 4 (b-2d)4

- ________ (c-d)5 (a-c-d) _______

2 3

a-b-3c 4 (b-2d)4

________ (c-d)5 - (a-c-d) _______

2 3

Page 24: Tài Liệu Bài Toán Rời Rạc Cây