MỘT SỐ VÍ DỤ
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Thuật toán viếng thăm mọi đỉnh của một cây có gốc có thứ tự đúng 1 lần một cách có hệ thống gọi là thuật tốn duyệt cây
™Có 3 thuật tốn phổ thơng:
Duyệt tiền tự (Preoder traversal)
Duyệt trung tự (Inorder traversal)
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Thuật toán duyệt tiền tự
Duyệt cho tới khi tất cả các nút đều được duyệt:
Bước 1: Truy cập nút gốc
Bước 2: Duyệt các cây con bên
trái một cách đệ qui
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Thuật tốn duyệt tiền tự
void Preorder( cây thứ tự có gốc T); {
r = gốc của T; Thăm r;
for (Mỗi cây con c của r từ trái sang phải ) {
T(c) = Cây con với gốc c Preorder( T(c) )
} }
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Thuật toán duyệt trung tự
Duyệt cho tới khi tất cả các nút đều được duyệt:
Bước 1: Duyệt các cây con bên trái
một cách đệ qui
Bước 2: Truy cập nút gốc
Bước 3: Duyệt các cây con bên phải
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Thuật tốn duyệt trung tự
void Inorder(cây thứ tự có gốc T) { r = gốc của T if (r là lá) Thăm r; else {
s = con đầu tiên từ trái sang phải của rT(s) = Cây con với gốc s; T(s) = Cây con với gốc s;
Inorder(T(s)); Thăm r;
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Ví dụ
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Thuật tốn duyệt hậu tự
Duyệt cho tới khi tất cả các nút đều được duyệt:
Bước 1: Duyệt các cây con bên
trái một cách đệ qui
Bước 2: Duyệt các cây con bên
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
Thuật tốn duyệt hậu tự
Void Postorder( cây thứ tự có gốc T); {
r = gốc của T
for (Mỗi cây con c của r từ trái sang phải) {
T(c) = Cây con với gốc c Postorder( T(c) )
}
Thăm r
3.5.5.4. CÁC PHƯƠNG PHÁP DUYỆT CÂY
BÀI TẬP