Cây và số Catalan

Một phần của tài liệu (LUẬN văn THẠC sĩ) số catalan và ứng dụng (Trang 34 - 40)

Định nghĩa 2.2.1. Một đồ thị G là một tập khác rỗng gồm các điểm, được gọi là các nút hay đỉnh, cùng với các đường thẳng hoặc các đường cong nối chúng, được gọi là các cạnh.

Ký hiệu V là tập các đỉnh và E là tập các cạnh. Đồ thị G được coi là cặp có thứ tự (V, E) : G = (V, E).

Một đồ thị G = (V, E) được gọi là đồ thị vô hướng nếu tập cạnh E

chứa các cặp đỉnh không thứ tự. Tức là, một cạnh là một tập {u, v}, trong đó u, v ∈ V và u 6= v. Để cho tiện, ta dùng ký hiệu (u, v) để ký hiệu một cạnh, ta coi (u, v) và (v, u) là cùng một cạnh.

Một đồ thị được gọi là liên thông nếu từ một định bất kỳ đều đi được đến tất cả các đỉnh còn lại. Trong một đồ thị, một đường đihv0, v1, . . . , vki

được gọi là tạo thành một vòng tròn nếu k ≥ 2 và v0 = vk. Một đồ thị được gọi là không có chu trình nếu nó không có vòng tròn nào.

Định nghĩa 2.2.2. Một đồ thị vô hướng, liên thông, không có chu trình được gọi là một cây.

Một cây có gốc là một cây mà một trong các đỉnh của nó được phân biệt với các đỉnh còn lại. Ta gọi đỉnh này là gốc của cây.

Cho T là một cây có gốc v0. Ký hiệu v0 −v1 −v2 −. . .−vn là một đường từ v0 tới vn. Khi đó

• vi−1 là cha (parrent) của vi, với i ≥1.

• vi là con (child) của vi−1, với i ≥ 1.

• Các đỉnh v0, v1, v2, . . . , vn−1 là tiền bối (ancestors) của vn.

• Hậu bối (descendants) của v là các đỉnh mà có v là tiền bối.

• Đỉnh v không có con được là một lá hay đỉnh kết thúc.

• Một đỉnh không là lá được gọi là đỉnh trong.

• Cây con có gốc tại v là cây gồm v, các hậu bối của nó và các cạnh của nó.

Định nghĩa 2.2.3. Một cây có gốc được gọi là cây nhị phân nếu mỗi đỉnh của nó có nhiều nhất hai con.

Ví dụ, cây trong Hình 2.2 là một cây nhị phân có gốc tại a, cây trong Hình 2.3 không phải là cây nhị phân vì nút d có nhiều hơn 2 con.

Hình 2.2 Hình 2.3

Ví dụ 2.2.4. Tìm số cây nhị phân có n đỉnh.

Lời giải. Hình 2.4 minh họa số cây nhị phân với 0≤ n ≤4.

Hình 2.4: Cây nhị phân n đỉnh, trong đó 0≤n ≤4.

Từ các ví dụ trên, ta phán đoán rằng có Cn cây nhị phân với n đỉnh. Định lý sau khẳng định giả thuyết này.

Định lý 2.2.5. Số cây nhị phân n đỉnh là Cn.

Chứng minh. Ký hiệu bn là số cây nhị phân có n đỉnh, trong đó n ≥0. Vì cây rỗng là cây nhị phân duy nhất có không đỉnh, b0 = 1. Khi n= 1, cây chỉ có gốc, và có đúng một cây nhị phân như vậy, nên b1 = 1. Ta tiến hành tìm hệ thức truy hồi cho bn. Với mục đích này, xét cây nhị phân có n đỉnh, xem Hình 2.5. Gốc của cây có n−1 con cháu. Giả sử nó có i con cháu ở cây con bên trái và n−i−1 con cháu ở cây con bên phải, với 0 ≤ i ≤ n−1. Theo định nghĩa, có bi cây nhị phân với i đỉnh và bn−i−1 cây nhị phân có n−i−1 đỉnh. Theo quy tắc nhân, có bibn−i−1

cây nhị phân với i con cháu ở cây con bên trái và n−i−1 con cháu ở cây con bên phải. Do đó, theo quy tắc cộng, tổng số cây nhị phân với

n đỉnh là bn = Pn−1

i=0 bibn−i−1 = b0bn−1 + b1bn−2 + · · ·+bn−1b0, trong đó

b0 = 1. Đây chính là công thức truy hồi Segner với cùng điều kiện ban đầu, nên bn = Cn. Do đó có đúng Cn cây nhị phân với n đỉnh.

Hình 2.5

Định nghĩa 2.2.6. Một cây nhị phân được gọi là cây nhị phân đầy đủ

nếu mỗi đỉnh trong có chính xác hai con.

Nhận xét 2.2.7. Cây nhị phân đầy đủ có l lá sẽ có đúng n = 2l −1 đỉnh.

Định lý 2.2.8. Số cây nhị phân đầy đủ có n đỉnh là Cn−1

2 , trong đó n là số lẻ.

Chứng minh. Ký hiệu F là tập cây nhị phân đầy đủ có n đỉnh và ký hiệu B là tập cây nhị phân có n−1

giữa tập F và B. Gọi T là một cây nhị phân đầy đủ có n đỉnh, nó có

l = n+ 1

2 lá (xem Hình 2.6). Xóa hết lá của cây, ta thu được một cây nhị phân T0 với n−l = n− n+ 1

2 =

n−1

2 đỉnh (xem Hình 2.7). Quá trình này rõ ràng sinh ra các cây nhị phân khác nhau tương ứng với các cây nhị phân đầy đủ khác nhau.

Hình 2.6 Hình 2.7

Mặt khác, xét cây nhị phân T0 (xem Hình 2.8). Bây giờ, thêm hai lá vào mỗi lá của T0 và thêm một lá vào các đỉnh trong mà có đúng một con (xem Hình 2.9). Kết quả thu được là cây T là một cây nhị phân đầy đủ.

Hình 2.8 Hình 2.9

Ta còn phải chứng minh nếu T0 có v đỉnh, thì T có 2v + 1 đỉnh. Với mục tiêu này, ta sẽ dùng kết quả là số lá l trong cây nhị phân nhiều hơn số đỉnh trong có hai coni2 đúng 1 đơn vị. Nênl−i2 = 1. Ký hiệul là số lá củaT0, i1 là số đỉnh trong có một con,i2 là số đỉnh trong có hai con, vàv

là số đỉnh. Ký hiệuL, I1, I2 vàV là các số tương ứng với cây nhị phân đầy đủ T. Khi đó, v = l+i1+i2, L = i1+ 2l, I1 = 0, I2 = v, V = I2+I1+L = 2l+v+i1 = 3l+ 2i1+i2 = 2(l+i1+i2) + (l−i2) = 2v+ (l−i2) = 2v+ 1.

một song ánh giữa tập cây nhị phân đầy đủ với n đỉnh và tập cây nhị phân có n−1

2 đỉnh. Do đó, số cây nhị phân đầy đủ có n đỉnh bằng số cây nhị phân có n−1 2 đỉnh và bằng Cn−21 = 2 n+ 1 n−1 n−1 2 . Ví dụ, có C11 = 2 24 22 11

= 58786 cây nhị phân đầy đủ có 23 đỉnh. Định nghĩa 2.2.9. Cây nhị phân được gọi là cây hóa trị ba nếu bậc của gốc bằng 1 và bậc của tất cả các đỉnh trong bằng 3.

Ví dụ các cây trong Hình 2.10 là cây nhị phân hóa trị ba.

Hình 2.10: Cây nhị phân hóa trị ba

Định lý 2.2.10. Số cây nhị phân hóa trị ba có n đỉnh là Cn−1.

Chứng minh. Bằng cách xóa gốc của cây nhị phân hóa trị ba, ta thu được một cây nhị phân thông thường, bằng cách thêm gốc mới vào gốc của cây nhị phân, ta được cây nhị phân hóa trị ba. Do đó tồn tại một song ánh giữa tập cây nhị phân hóa trị ba n đỉnh với tập cây nhị phân

n−1 đỉnh. Do đó, số cây nhị phân hóa trị ba n đỉnh bằng số cây nhị phân n−1 đỉnh, và bằng Cn−1 = 1 n 2n−2 n−1 .

Định nghĩa 2.2.11. Cây có gốc có thứ tự là cây có gốc mà các đỉnh tại mỗi mức được đánh thứ tự thành đỉnh đầu tiên, thứ hai, thứ ba, v.v..

Xét cây có thứ tự, hai cây trong Hình 2.11 là khác nhau. Ví dụ 2.2.12. Tìm số cây có gốc có thứ tự với n cạnh.

Lời giải. Hình 2.12 minh họa các cây gốc có thứ tự với 0 ≤ n ≤ 3 cạnh.

Hình 2.11: Hai cây khác nhau

Hình 2.12

Sử dụng ví dụ này, ta phán đoán rằng có Cn cây có gốc có thứ tự với

n cạnh. Định lý tiếp theo khẳng định điều này thông qua phép tương ứng 1-1 đặc biết giữa tập các cây có gốc có thứ tự có n đỉnh với tập các cây nhị phân hóa trị ba có n−1 đỉnh.

Định lý 2.2.13. Có Cn cây có gốc có thứ tự có n cạnh.

Chứng minh. Trước tiên, ta cần chứng minh rằng mọi cây có gốc có thứ tự đều có thể chuyển thành cây với các cạnh chỉ lên trên hoặc chỉ sang phải hoặc cả hai. Với mục đích này, xét cây nhị phân hóa trị ba có 6 lá trong Hình 2.13. Mỗi đỉnh có bậc ba, cạnh bên phải được vẽ lại thành cạnh nằm ngang và cạnh bên trái được vẽ thành cạnh thẳng đứng. Xem Hình 2.14.

Bây giờ ta xóa bớt cây trong Hình 2.14 để sử dụng thuật toán Berhart. Đầu tiên ta nén mỗi cạnh nằm ngang vào đỉnh ở bên trái. Tiếp theo, nếu có đỉnh có bậc ba nằm bên phải một cạnh thẳng đứng, thì ta gộp đỉnh này vào đỉnh ở bên trái. Giữ lại tất cả các cạnh thẳng đứng. Hình 2.15 minh họa kết quả thu được, nó là một cây có gốc với 6 cạnh (và 7 đỉnh).

Hình 2.13: Cây nhị phân hóa trị ba có 6 lá

Hình 2.14: Cây nhị phân hóa trị ba với cạnh thẳng đứng và nằm ngang

Hình 2.15: Một cây có gốc có thứ tự với sáu cạnh

Tổng quát hơn, thuật toán Berhart chuyển một cây nhị phân hóa trị ba có n lá thành một cây có gốc có thứ tự với n cạnh. Mặt khác, xét một cây có gốc có thứ tự. Trong trường hợp này, mọi đỉnh có bậc d có thể được mở rộng thành một dãy d−1 đỉnh, mỗi đỉnh có bậc 3. Cây thu được với các cạnh nằm ngang và thẳng đứng là một cây nhị phân hóa trị ba. Do đó, tồn tại một song ánh giữa hai tập, nên có đúng Cn cây có gốc với n cạnh (hay n+ 1 đỉnh).

Một phần của tài liệu (LUẬN văn THẠC sĩ) số catalan và ứng dụng (Trang 34 - 40)

Tải bản đầy đủ (PDF)

(55 trang)