1. Trang chủ >
  2. Giáo án - Bài giảng >
  3. Cao đẳng - Đại học >

Binary Tree – Một số tính chất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.1 MB, 123 trang )


Binary Tree – Khởi tạo cây

31







Khởi tạo cây rỗng:

void InitTree (Tree &t)

{

t = NULL;

}



Chương 7: Cây (Tree)



Binary Tree - Duyệt cây nhị phân

32







Có 3 kiểu duyệt chính có thể áp dụng trên

cây nhị phân:









Duyệt theo thứ tự giữa - inorder (Left-NodeRight: LNR)











Duyệt theo thứ tự trước - preorder (NodeLeft-Right: NLR)



Duyệt theo thứ tự sau - postorder (LeftRight-Node: LRN)



Tên của 3 kiểu duyệt này được đặt dựa trên

trình tự của việc thăm nút gốc so với việc

thăm 2 cây con



Chương 7: Cây (Tree)



Binary Tree - Duyệt cây nhị phân

33





Duyệt theo thứ tự trước NLR (Node-Left-Right)





Kiểu duyệt này trước tiên thăm nút gốc sau

đó thăm các nút của cây con trái rồi đến

cây con phải







void

Thủ tục NLR (Tree thể trình bày đơn giản như

duyệt có t)

{

sau:

if (t != NULL)

{

// Xử lý t tương ứng theo nhu cầu



NLR(t->pLeft);

NLR(t->pRight);

}

}

Chương 7: Cây (Tree)



Binary Tree - Duyệt cây nhị phân NLR

34



A

B



C



D



E



H



I

N



J



F



G



K

O



L



M



P



Kết quả: A B D H I N E J O K C F L P G M

Chương 7: Cây (Tree)



Binary Tree - Duyệt cây nhị phân

35





Duyệt theo thứ tự giữa LNR (Left-Node-Right)





Kiểu duyệt này trước tiên thăm các nút của

cây con trái sau đó thăm nút gốc rồi đến

cây con phải







Thủ tục duyệt có thể trình bày đơn giản như

void LNR(Tree t)

sau:

{



if (t != NULL)

{

LNR(t->pLeft);

//Xử lý nút t theo nhu cầu



LNR(t->pRight);

}

}

Chương 7: Cây (Tree)



Binary Tree - Duyệt cây nhị phân LNR

36



A

B



C



D



E



H



I

N



J



F



G



K

O



L



M



P



Kết quả: H D N I B J O E K A F P L C M G

Chương 7: Cây (Tree)



Binary Tree - Duyệt cây nhị phân

37





Duyệt theo thứ tự giữa LRN (Left-Right-Node)





Kiểu duyệt này trước tiên thăm các nút của

cây con trái sau đó thăm đến cây con phải

rồi cuối cùng mới thăm nút gốc







Thủ tục LRN(Tree thể trình bày đơn giản như

duyệt có t)

void

sau:

{



if (t != NULL)

{

LRN(t->pLeft);

LRN(t->pRight);

// Xử lý tương ứng t theo nhu cầu



}

}

Chương 7: Cây (Tree)



Binary Tree - Duyệt cây nhị phân LRN

38



A

B



C



D



E



H



I

N



J



F



G



K

O



L



M



P



Kết quả: H N I D O J K E B P L F M G C A

Chương 7: Cây (Tree)



Xem Thêm
Tải bản đầy đủ (.ppt) (123 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×