Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Cây nhị phân

 Bài 1. Cho cây nhị phân:

 a. Duyệt cây theo thứ tự trước, giữa và sau.

 b. Vẽ cây nhị phân nối vòng biểu diễn cây đó

 Duyệt theo thứ tự trước:

 A - B - D - E - G - C - F - H - I - J

 Duyệt theo thứ tự giữa:

 D - B - G - E - A - C - H - F - I - J

 Duyệt theo thứ tự sau:

 D - G - E - B - H - J - I - F - C - A

Bài tập 2:

Lập giả thiết đệ quy thực hiện việc đánh tráo thứ tự trái, phải của các con của mọi nút trên cây nhị phân trỏ bởi T

Procedure daocay(T:tree);

Var Q: tree;

Begin

if (T <> nil) then

Q := T^.LChild;

T^.LChild := T^.RChild;

T^.RChild := Q;

daocay(T^.LChild);

daocay(T^.Rchild);

end;

End;

Bài tập 3; Hãy chuyển cây tổng quát sau sang cây nhị phân.

Bài tập 4:

 Xét cây nhị phân ở bài tập 3:

a)Biểu diễn cây nhị phân nối vòng của cây nhị phân đã cho và đưa ra kết quả duyệt theo thứ tự giữa.

b)Viết thủ tục tìm nút đi sau trỏ bởi P trên cây nhị phân nối vòng của cây nhị phân trên.

b)Thủ tục tìm nút sau ptr trong thứ tự giữa:

Procedure INS(P : tree; var Q : tree);

Q := P^.Rchild;

if (P^.Rbit = 1) then exit;

While (Q^.Lbit <> 1) do Q := Q^.Lchild;

end;

Bạn đang đọc truyện trên: Truyen247.Pro