CÁC PHƯƠNG PHÁP DUYỆT CÂY

Một phần của tài liệu SLIDE TOÁN RỜI RẠC Chương 3 5 cây và cây khung của đồ thị TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT (Trang 87 - 98)

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

Một phần của tài liệu SLIDE TOÁN RỜI RẠC Chương 3 5 cây và cây khung của đồ thị TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT (Trang 87 - 98)