Phép duyệt cây tổngquát

Một phần của tài liệu MẢNG VÀ DANH SÁCH (Trang 79 - 83)

G DH BEAF IC c) Duyệt theo thứ tự sau

20.3.2.Phép duyệt cây tổngquát

Phép duyệt cây tổng quát cũng được đặt ra tương tự như đối với cây nhị phân. Tuy nhiên có một điều cần phải xem xét thêm,khi định nghĩa phép duyệt, đó là:

1) Sự nhất quán về thứ tự các nút được thăm giữa phép duyệt cây tổng quát và phép duyệt cây nhị phân tương đương của nó

2) Sự nhất quán giữa định nghĩa phép định nghĩa phép duyệt cây tổng quát với định nghĩa phép duyệt cây nhị phân. Vì cây nhị phân cũng có thể coi là cây tổng quát và ta có thể áp dụng định nghĩa phép duyệt cây tổng quát cho cây nhị phân.

Ta có thể xây dựng được định nghĩa của phép duyệt cây tổng quát T như sau Duyệt theo thứ tự trước

a) Nếu T rỗng thì không làm gì b) Nếu T khác rỗng thì

Thăm gốc của T

Duyệtcác cây con thứ nhất T1 của gốc của cây T theo thứ tự trước Duyệt các cây con còn lại T2, T3,...,Tn của gốc T theo thứ tự trước Duyệt theo thứ tự giữa

a) Nếu T rỗng thì không làm gì b) Nếu T khác rỗng thì

Duyệtcác cây con thứ nhất T1 của gốc của cây T theo thứ tự giữa Thăm gốc của T

Duyệt các cây con còn lại T2, T3,...,Tn của gốc T theo thứ tự giữa Duyệt theo thứ tự sau

a) Nếu T rỗng thì không làm gì b) Nếu T khác rỗng thì

Duyệtcác cây con thứ nhất T1 của gốc của cây T theo thứ tự sau Duyệt các cây con còn lại T2, T3,...,Tn của gốc T theo thứ tự sau Thăm gốc của T ví dụ với cây ở hình vẽ 5.17 A D G C J B E F H I

Hình 5.17 Thì dãy tên các nút được thăm sẽ là

Thứ tự trước: A B C E H I F J D G Thứ tự giữa : B A H E I C J F G D

Thứ tự sau : B H I E J F C G D A

Bây giờ ta dựng cây nhị phân tương đương với cây tổng quát ở hình 5.17

A B C E D F H I J G

Hình 5.18. Cây nhị phân tương đương Dãy các nút được thăm khi duyệt nó theo phép duyệt của cây nhị phân:

Thứ tự trước: A B C E H I F J D G Thứ tự giữa: B H I E J F C G D A Thứ tự sau: I H JF E G D C B A Nhận xét

Với thứ tự trước phép duyệt cây tổng quát và phép duyệt cây nhị phân tương đương của nó đều cho một dãy tên như nhau. Phép duyệt cây tổng quát theo thứ tự sau cho dãy tên giống như dãy tên các nút được duyệt theo thứ tự giữa trong phép duyệt cây nhị phân. Còn phép duyệt cây tổng quát theo thứ tự giữa thì cho dãy tên không giống bất kỳ dãy nào đối với cây nhị phân tương đương. Do đó đối với cây tổng quát, nếu định nghĩa phép duyệt như trên người ta thường chỉ nêu hai phép duyệt theo thứ tự trước và phép duyệt theo thứ tự sau

BÀI 21: CÂY NHỊ PHÂN VÀ ỨNG DỤNG21.1 CÂY BIỂU THỨC

Một phần của tài liệu MẢNG VÀ DANH SÁCH (Trang 79 - 83)