Một số vấn đề về cây.DOC

27 660 0
Một số vấn đề về cây.DOC

Đ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

Một số vấn đề về cây

Trang 1

Chơng 5

Một số vấn đề về cây

I Các khái niệm và tính chất cơ bản

1 Định nghĩa Cho đồ thị G = <X, U>, G đợc gọi là một cây nếu G liên thông và

4) G không có chu trình và nếu thêm vào một cạnh nối 2 đỉnh không kề nhau thì G xuất hiện duy nhất một chu trình.

5) G liên thông và nếu bỏ đi một cạnh tuỳ ý thì đồ thị nhận đợc sẽ không liên thông.

6) Mỗi cặp đỉnh trong G đợc nối với nhau bằng một đờng duy nhất.

Chứng minh: Ta chứng minh theo trình tự sau:

2) ⇒ 3): Giả sử G không có chu trình và n - 1 cạnh ta chứng minh 3)

Thật vậy, giả sử ngợc lại G không liên thông, khi đó p ≥ 2 Từ 2) ta có v(G) = m - n + p = 0 và m = n -1, kết hợp ta có (n - 1) - n + p = 0 hay p = 1, trái với giả thiết p

≥ 2 Vậy G liên thông và số cạnh là n -1.

3) ⇒ 4): Giả sử G là liên thông và có n - 1 cạnh, ta chứng minh 4).

Thật vậy vì G liên thông nên p = 1, mặt khác m = n - 1 nên v(G) = m - n + 1 = 0 hay G không có chu trình Nếu thêm vào G một cạnh thì ta đợc đồ thị G' với số cạnh là n, hay v(G') = n - n + 1 = 1 hay G' có một chu trình.

4) ⇒ 5): Giả sử ngợc lại G không liên thông, tức là tồn tại cặp đỉnh x, y trong G mà không có đờng nào nối x với y Khi đó nối x và y bởi 1 cạnh, đồ thị nhận đợc vẫn không có chu trình điều này mâu thuẫn với 4) Hay G là liên thông.

Trang 2

Nếu bỏ đi 1 cạnh trong G mà đồ thị vẫn liên thông thì nếu khôi phục lại cạnh này đồ thị sẽ có chu trình Điều này mâu thuẫn với 4) Vậy ta có 5).

5) ⇒ 6): Giả sử ngợc lại, nếu trong G có tồn tại cặp đỉnh x, y không nối với nhau bằng đờng nào cả, chứng tỏ G không liên thông mâu thuẫn với 5) Vậy mỗi cặp đỉnh đều có đờng đi nối với nhau, đờng đó là duy nhất vì nếu có nhiều hơn thì sau khi bỏ đi 1 đờng đồ thị vẫn liên thông, trái với 5).

6) ⇒ 1) Với mỗi cặp đỉnh nối với nhau bởi một đờng thì G là liên thông Giả sử G có chu trình thì xét cặp đỉnh x, y trên chu trình đó Khi đó x, y có 2 cặp đờng nối với nhau, mâu thuẫn với 6).

2 Một số khái niệm cơ bản

- Gốc: Đối với một cây T bất kỳ có thể chọn 1 đỉnh nào đó làm gốc, một cây đã

đợc chọn 1 đỉnh làm gốc thì đợc gọi là cây có gốc Vậy một cây có thể tạo thành nhiều cây có gốc khác nhau.

- Quan hệ cha con: Giả sử a là gốc nếu có b, c kề với a thì b, c đợc gọi là con của a (hoặc gọi a là cha của b, c) tơng tự nếu có d, e kề với b thì b là cha của chúng còn d, e là con của b (Xem cây T' hình 1.1).

- Trong một cây tất cả các đỉnh là cha đợc gọi là các đỉnh trong Các đỉnh không phải là đỉnh trong đợc gọi là lá (hay lá là đỉnh con không có con), trong cây chỉ có

gốc là đỉnh duy nhất không phải là con.

- Bậc của đỉnh là số các con của nó, bậc của cây là bậc lớn nhất của đỉnh.

- Mức của cây: Mỗi 1 đỉnh đều đợc gán bằng một mức, mức của gốc là 0, con của

gốc có mức là 1 Nếu mức của cha là i thì mức của con là i + 1 Một đỉnh x nào đó có mức bằng độ dài đờng đi từ gốc đến x, mức cao nhất trong số các đỉnh đợc gọi là chiều cao của cây.

Khi cây cha có gốc, cha phân chia thành các các mỗi quan hệ cha con, bậc, mức thì cây là cây tự do còn khi đợc phân chia gọi là cây phân cấp.

Trang 3

Ví dụ nh hình 1.1 cây T là một cây tự do, nếu chọn a làm gốc thì nó trở thành

cây phân cấp T' có gốc Với cây T' gốc a có bậc 2 và mức 0, đỉnh c có bậc là 3 và mức 1 Mức cao nhất là 3 ở các đỉnh là lá nh i, j, k nên chiều cao của cây h(T') = 3.

3 Cây m - phân

- Định nghĩa: Xét cây phân cấp T nếu mỗi đỉnh trong của nó có không quá m

con thì T đợc gọi là cây m phân Đặc biệt nếu m = 2 thì cây đợc gọi là cây nhị phân, cây nhị phân rất quan trọng và có nhiều ứng dụng rộng rãi.

- Cây đầy đủ: Cây m - phân T đợc gọi là cây m - phân đầy đủ nếu mỗi đỉnh trong

đều có đúng m con.

- Cây cân đối: Xét cây m - phân có chiều cao h Nêu các lá của cây có mức h - 1

hoặc h thì cây đợc gọi là cây cân đối.

4 Các ứng dụng

4.1 Mã tiền tố

Kỹ thuật nén và mã hoá là 1 trong những lĩnh vực thờng hay đợc sử dụng trong Tin học, cây nhị phân có nhiều ứng dụng trong việc nghiên cứu áp dụng các giải thuật trong lĩnh vực vực này Một trong những ứng dụng của cây nhị phân đó là mã tiền tố Ví dụ mã tiền tố nh là dùng các xâu nhị phân có độ dài khác nhau để mã các ký tự để không có xâu nhị phân nào ứng với hơn một chữ cái Trên cây nhị phân mã hoá, các lá là các ký tự cần mã hoá và đờng đi từ cha đến con trái là 1 (hoặc 0), còn đi tới con phải là 0 (hoặc 1) Quá trình mã hoá sẽ duyệt cây đó từ gốc tới lá, khi tới nút con sẽ tạo ra một bít 0 hoặc 1 và tới nút lá sẽ tạo ra một xâu bít Do vậy, mã sinh ra cho một ký tự sẽ không là phần đầu của ký tự khác.

Trang 4

Thuật toán mã hoá Huffman:

Một số thuật toán về mã tiền tố đã ra đời đã đợc sử dụng rộng rãi và đem lại hiệu quả cao trong vấn đề nén và mã hoá thông tin Một trong những thuật toán đó là Huffman xuất hiện từ năm 1952, thuật toán này mã hoá theo phơng pháp kiểu thống kê, tạo ra mã có độ dài thay đổi khác nhau khi đã có bảng tần số xuất hiện của các ký tự Quá trình mã hoá và giải mã phụ thuộc vào việc xây dựng cây nhị phân mã hoá Thuật toán Huffman tạo cây nhị phân từ nút lá đến nút gốc, ký tự nào có tần số càng cao thì nút lá tơng ứng càng gần gốc hơn.

Thuật toán:

Vào: Bảng tần số xuất hiện các ký tự sắp xếp giảm dầnRa : Cây nhị phân biểu diễn mã, nhánh phải là 1, trái là 0.Bớc 1: Lấy hai phần tử cuối bảng tần số xuất hiện ra khỏi bảng

Bớc 2: Nếu phần tử nào cha nằm trong cây nhị phân thì tạo ra một nút lá chứa

phần tử đó, phần tử này chính là ký tự Nối hai nút tơng ứng với hai phần tử này với nhau thông qua việc tạo nút cha của chúng Phần tử có tần số xuất hiện lớn hơn là nút trái, nhỏ hơn là nút phải.

Bớc 3: Tính tổng tần số xuất hiện của 2 phần tử này chèn vào bảng sao cho phù

hợp với nguyên tắc giảm dần của bảng Phần tử mới của bảng sẽ tơng ứng với nút vừa đợc tạo ra ở bớc 2.

Bớc 4: Quay trở lại bớc 1 đến khi bảng chỉ còn lại 1 phần tử Phần tử cuối cùng

t-ơng ứng với nút gốc của cây nhị phân.

Ví dụ: Ta có kết quả mã Huffman cho các ký tự ở bảng sau:

Ký tựTần suấtMã nhị phân Chiều dài mã

Trang 5

H×nh 1.3

Víi thuËt to¸n Huffman trêng hîp xÊu nhÊt lµ thêi gian h×nh thµnh c©y nhÞ ph©n lµ O(n) víi n lµ sè ký tù cÇn m· ho¸.

Ch¬ng tr×nh viÕt b»ng ng«n ng÷ Pascal minh ho¹ thuËt to¸n t¹o m· Huffman:

for i:=1 to n do with A[i] do

begin S:=Round(exp(n/5)/exp(i/5))+1;Name:=Char(64+i);Code:=''; end;

Trang 6

k:=m-1;

While (k>1) and (a[k].s>a[k-1].s) do Begin z:=a[k]; a[k]:=a[k-1]; a[k-1]:=z; k:=k-1;

4.2 Cây biểu diễn biểu thức

Một biểu thức toán học có thể biểu diễn bằng cây, đây cũng là vấn đề hữu ích trong việc xử lý và lu trữ biểu thức toán học trong máy tính

Xét biểu thức đại số sau:

Có thể vẽ 1 cây nhị phân nh hình 1.4 biểu diễn biểu thức A, trong đó mỗi đỉnh

trong mang dấu của một phép tính, gốc của cây mang phép tính sau cùng của A, ở đây là dấu nhân ký hiệu: *, mỗi lá mang 1 số hoặc một chữ đại diện cho số.

Hình 1.4

Một phép duyệt cây là tiền thứ tự nếu thăm gốc trớc rồi sau đó thăm con trái

nh là một cây con với phơng pháp thăm gốc trớc và cuối cùng thăm con phải nh là một cây con với phơng pháp thăm gốc trớc Duyệt cây nh vậy mang tính đệ quy.

Trang 7

Khi duyệt cây trên theo tiền thứ tự ta có: * + a b - c / d 2 Cách viết biểu thức theo tiền thứ tự là ký pháp Balan.

Bằng duyệt cây ta có thể tính đợc giá trị biểu thức, ngoài phơng pháp tiền thứ tự còn có thể duyệt cây theo phơng pháp pháp khác để tính giá trị biểu thức tùy vào yêu cầu và đặc điểm của từng bài toán.

4.3 Cây quyết định

Có những bài toán phụ thuộc vào các quyết định Mỗi quyết định thì có thể có nhiều kết cục và những kết cục cuối cùng chính là lời giải của bài toán Để giải những bài toán nh vậy, ngời ta biểu diễn mỗi quyết định bằng một đỉnh của đồ thị và mỗi kết cục là 1 lá của quyết định Một cây đợc xây dựng nh trên gọi là cây quyết định Trong nhiều bài toán Tin gặp phải, có thể dùng cây quyết định để mô hình hoá từ đó việc cài đặt sẽ dễ dàng thuận tiện hơn.

Trang 8

Readln(a,b,c);

If Can(a,b) then Begin If Can(a,c) then Begin

if Can(b,c) then Writeln(c,' ',b,' ',a) Else Writeln(b,' ',c,' ',a);

End

Else Writeln(b,' ',a,' ',c); End

Else Begin

If Can(b,c) then Begin

if Can(a,c) then Writeln(c,' ',a,' ',b)

Sắp xếp và tìm kiếm là một trong những vấn đề cơ bản trong kỹ thuật lập trình, cây nhị phân cũng có khá nhiều ứng dụng quan trọng trong vấn đề này Ta có thể mô hình hoá việc sắp xếp và tìm kiếm bằng cây từ đó ta có thể đánh giá các kỹ thuật này từ góc độ về cây.

4.4.1 Sắp xếp chèn với tìm kiếm nhị phân

ý tởng đợc bắt đầu nh sau, cho 1 danh sách cha sắp xếp hãy tìm 1 phần tử x bất kỳ nào đó trong danh sách, rõ ràng để tìm ta phải lần lợt xét từng phần tử cho tới khi nào bắt gặp phần tử cần tìm, nếu danh sách lớn thì thời gian tìm rất lâu Bây giờ với một danh sách đã sắp xếp, chia đôi danh sách và lấy phần tử là t ở vị trí chia đôi để so sánh Nếu t = x thì dừng, nếu t < x vì danh sách đã sắp xếp nên x chỉ có thể nằm bên nửa phải danh sách nên ta chỉ việc tìm kiếm trong 1 nửa danh sách bên phải và giảm đi khá nhiều công việc tìm kiếm Nếu x < t thì tơng tự, ta chỉ việc tìm bên nửa trái, đối với việc tìm kiếm cho lần sau với các danh sách con nửa trái hoặc nửa phải ta thực hiện tơng tự nh vậy một cách đệ quy

a) Từ những ý tởng thuật toán ta xây dựng cây nhị phân tìm kiếm cho một danh sách nh sau:

Trang 9

- Chọn 1 phần tử bất kỳ làm gốc

- Tất cả các phần tử có giá trị ≤ gốc thì thuộc cây con trái - Tất cả các phần tử có giá trị > gốc thì thuộc cây con phải - Đối với các cây con thì cũng có tính chất tơng tự nh vậy

Ví dụ cây nhị phân tìm kiếm cho danh sách 12, 10, 6, 11, 15, 13, 16, 19, 18 nh hình 1.6:

Hình 1.6

b) Sắp xếp chèn bằng việc tìm nhị phân vị trí đúng.

Có thể tạm gọi là phơng pháp sắp xếp chèn nhị phân ý tởng nh sau: cho trớc một danh sách đã sắp xếp A, cần chèn 1 phần tử mới x vào A sao cho danh sách luôn đợc sắp xếp Đầu tiên ta tìm vị trí đúng của x trong A sau đó chèn x vào đúng vị trí này trong A, ta có danh sách A = A ∪ {x} luôn đợc sắp xếp Để tìm đ-ợc ví trí đúng cần chèn của x trong A ta sử dụng phơng pháp tìm kiếm nhị phân, chèn theo cách này gọi là chèn nhị phân.

Ví dụ để sắp xếp B = x1, x2, x3, xn ta thực hiện nh sau: A := φ;

For i:=1 to n do Begin

- Tìm vị trí đúng của xi trong A theo phơng pháp tìm nhị phân - Chèn xi vào A theo đúng vị trí vừa tìm đợc (A := A ∪ {xi}) End;

Kết quả A là danh sách sắp xếp của B.

Chơng trình Pascal sau sắp xếp tăng dần theo phơng pháp chèn nhị phân

Const n = 9;

Ds : Array[1 n] of Integer = (1,9,1,6,3,10,10,8,7);{Ham tra lai vi tri dung cua Pt trong danh sach}Function FindNp(l,r,Pt: Integer): Integer;

Trang 10

4.4.2 Thuật toán sắp xếp hoà nhập

Giả sử ta có danh sách cha đợc sắp 8, 2, 4, 6, 9, 7, 10, 1, 5 ,3 có thể dùng cây nhị phân mô tả quá trình sắp xếp danh sách theo thứ tự tăng dần nh sau:

Cây nhị phân với gốc đợc gán là chính là danh sách đó Các con của gốc đợc gán theo nguyên tắc: Con bên trái gán nửa danh sách đầu, con bên phải gán nửa danh sách còn lại (danh sách gán ở gốc cây con trái và cây con phải hoặc bằng nhau về số lợng hoặc chênh lệch nhau 1 phần tử).

Cứ tiếp tục cho tới khi cây nhị phân có mỗi lá đợc gán 1 phần tử trong dãy Đó là

cây nh hình 1.7

Trang 11

Hình 1.7

Đây là cây nhị phân đầy đủ cha phải cây sắp xếp của dãy đã cho ở trên

Hình 1.8

Để có cây nhị phân sắp xếp của một dãy, trớc hết cây đợc xây dựng tơng tơng tự nh vậy, mỗi lá tơng ứng với mỗi phần tử của dãy Bớc đầu tiên 2 phần tử đợc hoà nhập vào 1 danh sách theo thứ tự tăng dần, danh sách tơng ứng này nh một nút cha, 2 phần tử đợc hoà nhập là nút con Sau đó ta tiếp tục hoà nhập các cặp nút t-ơng tự nh vậy cho tới toàn bộ danh sách đợc sắp xếp lại theo thứ tự tăng dần và

cây biểu diễn cho dãy là cây nhị phân cân đối đợc mô tả nh hình 1.8

Trang 12

Các bớc thuật toán trên đợc mô tả trên là đã vận dụng thuật toán hoà nhập hai danh sách đã đợc sắp xếp thành một danh sách mới đợc sắp xếp, thuật toán này theo nguyên tắc sau:

- So sánh phần tử bé nhất trong danh sách trong danh sách thứ nhất với phần tử bé nhất trong danh sách thứ 2.

- Quá trình trên đợc lặp lại cho 2 danh sách nhận đợc ở bớc trên - Sau một số bớc sẽ gặp hai trờng hợp sau:

a) Cả 2 danh sách trở thành rỗng Trong trờng hợp này, các phần tử có mặt trong danh sách hoà nhập chính là danh sách cần xác định

b) Một danh sách trở thành rỗng, còn danh sách kia khác rỗng Trong trờng hợp này đa các phần tử còn lại (trong danh sách không rỗng) nối vào cuối của danh

Procedure Hoa_nhap2p(x:Vec; p,m,n:Integer; Var z:Vec);Var i,j,k: Integer;

i:=p;j:=m+1;k:=p;

While (i<=m) and (j<=n) do Begin If x[i]<x[j] Then Begin

Trang 13

4.4.3 Thuật toán sắp xếp nhanh

Sắp xếp 1 danh sách có nhiều thuật toán, mỗi thuật toán đều có những u nhợc điểm Trong các thuật toán sắp xếp thì thuật sắp xếp nhanh (Quick sort) tỏ ra có nhiều u điểm đợc sử dụng phổ biến và rất hiệu quả Nguyên tắc của thuật toán này có tính đệ quy có thể sử dụng cây nhị phân để mô tả thuật toán này Thuật toán có thể đợc mô tả tóm tắt nh sau:

Ví dụ để sắp xếp danh sách a1, a2, , an thuật toán bắt đầu bằng việc lấy ngẫu nhiên 1 phần tử làm chốt nhng thờng thì phần tử đầu tiên đợc chọn làm chốt Nh danh sách trên ta chọn a1 làm chốt khi đó danh sách đợc phân đoạn thành 2 danh sách con, một danh sách con gồm các phần tử nhỏ hơn a1 theo thứ tự xuất hiện, còn danh sách con khác gồm các phần tử lớn hơn a1 cũng theo thứ tự xuất hiện Sau khi đã có hai danh sách con thì a1 đợc đặt vào sau cùng của danh sách con gồm các phần tử nhỏ hơn a1, nh vậy sau a1 là danh sách con gồm các phần tử lớn hơn a1 Thủ tục này đợc lặp lại một cách đệ quy cho mỗi danh sách con cho tới khi nào mỗi danh sách con chỉ chứa một phần tử theo thứ tự xuất hiện của nó Với kết quả này ta đợc một danh sách đã đợc sắp xếp.

Trang 14

Ví dụ cho danh sách: 3, 5, 7, 8, 1, 9, 2, 6;

Có thể dùng cây nhị phân biểu diễn thuật toán sắp xếp nhanh để sắp xếp danh

sách này nh hình 1.9

Hình 1.9

Danh sách lúc cha sắp xếp là gốc, danh sách đợc sắp xếp là danh sách mà mỗi phần tử của nó là lá của cây.

Chơng trình thể hiện thuật toán sắp xếp nhanh nh sau:

procedure QuickSort(var A: List; Lo, Hi: Integer); procedure Sort(l, r: Integer);

Trang 15

Ngời ta đã chỉ ra rằng độ phức tạp của thuật toán là O(nlog2n)

II Cây bao trùm

1 Định nghĩa và các tính chất

Định nghĩa: Cho đồ thị G = <X, U> với số đỉnh n lớn hơn 1.

Giả sử G' là đồ thị bộ phận của G (G' nhận đợc từ G bằng cách bỏ đi một số cạnh nhng vẫn giữ nguyên đỉnh) Nếu G' = <X, U'> là một cây thì G' gọi là cây bao trùm của G.

Theo đúng tính chất về cây G' là cây bao trùm phải có n - 1 cạnh và là một đồ thị liên thông không có chu trình Trong một đồ thị có thể có nhiều cây bao trùm.

Trang 16

a) b)

hình 2.1

Ví dụ cây nh hình 2.1.b là một cây bao trùm của đồ thị trong hình 2.1.a

Định lý: Cho đồ thị G = <X, U>, G có cây bao trùm khi và chỉ khi G là đồ thị liên thông.

Chứng minh:

Điều kiện cần: Giả sử G có cây bao trùm là G' Ta chỉ ra G là liên thông Thật

vậy, nếu G không liên thông thì tồn tại cặp đỉnh x, y mà giữa chúng không đợc nối bởi đờng nào, mà giữa x, y cũng là các đỉnh của G' Chứng tỏ G' không liên thông, trái với giả thiết G' là một cây.

Điều kiện đủ: Giả sử G là liên thông ta chứng minh G có cây bao trùm, thật vậy

- Nếu trong G không có chu trình thì theo định nghĩa G là một cây, đó là cây bao trùm.

- Nếu trong G có chu trình thì bỏ đi 1 cạnh trong chu trình đó ta đợc G' liên thông và không có chu trình, G' là cây bao trùm.

2 Các thuật toán tìm cây bao trùm

Xét đồ thị G = <X, U> liên thông có n đỉnh, ta có các thuật toán tìm cây bao trùm nh sau:

2.1 Thuật toán theo lý thuyết

Giả sử G không có chu trình thì nó là một cây và cũng chính là cây bao trùm của nó Nếu G có chu trình thì ở 1 chu trình đơn nào đó bỏ đi 1 cạnh đồ thị vẫn liên thông Nếu G còn chu trình đơn thì bỏ tiếp 1 cạnh nữa cho đến khi không còn chu trình thì ta đợc đồ thị mới G' nhận đợc từ G và G' chính là 1 cây bao trùm của G.

Thuật toán trên chỉ có ý nghĩa lý thuyết vì khi số đỉnh lớn, chu trình lớn thì việc kiểm tra chu trình đối với máy tính đòi hỏi nhiều tính toán

2.2 Thuật toán tìm kiếm u tiên chiều sâu và chiều rộng

Rất nhiều thuật toán trên đồ thị đợc xây dựng dựa trên cơ sở duyệt tất cả các đỉnh của đồ thị sao cho mỗi đỉnh của nó đợc thăm đúng 1 lần, trong mục này ta sẽ đề cập tới 2 thuật toán rất cơ bản của đồ thị về thăm đỉnh theo nguyên tắc trên Đó là thuật toán tìm kiếm theo chiều sâu và chiều rộng, chúng đợc sử dụng để tìm cây

Ngày đăng: 21/08/2012, 16:17

Hình ảnh liên quan

Hình 1.1 - Một số vấn đề về cây.DOC

Hình 1.1.

Xem tại trang 2 của tài liệu.
Ví dụ nh hình 1.1 câ yT là một cây tự do, nếu chọ na làm gốc thì nó trở thành cây phân cấp T' có gốc - Một số vấn đề về cây.DOC

d.

ụ nh hình 1.1 câ yT là một cây tự do, nếu chọ na làm gốc thì nó trở thành cây phân cấp T' có gốc Xem tại trang 3 của tài liệu.
Vào: Bảng tần số xuất hiện các ký tự sắp xếp giảm dần - Một số vấn đề về cây.DOC

o.

Bảng tần số xuất hiện các ký tự sắp xếp giảm dần Xem tại trang 4 của tài liệu.
Hình 1.3 - Một số vấn đề về cây.DOC

Hình 1.3.

Xem tại trang 5 của tài liệu.
hình 1.5 là cây quyết định biểu diễn việc sắp xếp 3 số khác nhau a,b,c - Một số vấn đề về cây.DOC

hình 1.5.

là cây quyết định biểu diễn việc sắp xếp 3 số khác nhau a,b,c Xem tại trang 7 của tài liệu.
Hình 1.7 - Một số vấn đề về cây.DOC

Hình 1.7.

Xem tại trang 11 của tài liệu.
Hình 1.8 - Một số vấn đề về cây.DOC

Hình 1.8.

Xem tại trang 11 của tài liệu.
Hình 1.9 - Một số vấn đề về cây.DOC

Hình 1.9.

Xem tại trang 14 của tài liệu.
Hình 2.2 - Một số vấn đề về cây.DOC

Hình 2.2.

Xem tại trang 17 của tài liệu.
Hình 2.3 - Một số vấn đề về cây.DOC

Hình 2.3.

Xem tại trang 26 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan