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