Cho trước dãy số A = [2,1,9,0,2,1,5]. Tạo cây tìm kiếm nhị phân T từ dãy A và thực hiện thuật toán duyệt giữa trên cây T. Em hãy cho biết kết quả duyệt là dãy các khoá có thứ tự như thế nào.

Câu hỏi 1: Cho trước dãy số A = [2,1,9,0,2,1,5]. Tạo cây tìm kiếm nhị phân T từ dãy A và thực hiện thuật toán duyệt giữa trên cây T. Em hãy cho biết kết quả duyệt là dãy các khoá có thứ tự như thế nào.


Các bước xây dựng cây tìm kiếm nhị phân (BST) từ dãy số A

  1. Chèn 2: Làm gốc của cây.
  2. Chèn 1: So với 2, 1 nhỏ hơn, chèn vào bên trái của 2.
  3. Chèn 9: So với 2, 9 lớn hơn, chèn vào bên phải của 2.
  4. Chèn 0: So với 2, nhỏ hơn; so với 1, nhỏ hơn, chèn vào bên trái của 1.
  5. Chèn 2 (thứ hai): So với 2, bằng nhau; theo quy tắc chung (trường hợp đặc biệt), chèn vào bên phải của 2 gốc.
  6. Chèn 1 (thứ hai): So với 2, nhỏ hơn; so với 1, bằng nhau; chèn vào bên phải của 1.
  7. Chèn 5: So với 2, lớn hơn; so với 9, nhỏ hơn, chèn vào bên trái của 9.

Cấu trúc cây BST

Duyệt giữa (In-order Traversal)

Duyệt giữa trên cây tìm kiếm nhị phân là duyệt theo thứ tự cây con trái, nút gốc, cây con phải.

Cụ thể các bước thực hiện như sau:

  1. Duyệt cây con trái của nút gốc (2):
    • Duyệt cây con trái của nút 1:
  • Duyệt cây con trái của 0 (không có nút con trái nào), thăm 0.
  • Thăm nút 1.
  • Duyệt cây con phải của 1:
  1. Duyệt cây con trái của 1 (thứ hai) (không có nút con trái nào), thăm 1 (thứ hai).
    • Thăm nút 1.
  2. Thăm nút gốc (2).
  3. Duyệt cây con phải của nút gốc (2):
    • Duyệt cây con trái của nút 9:
  • Duyệt cây con trái của 5 (không có nút con trái nào), thăm 5.
    • Thăm nút 9.
    • Duyệt cây con phải của 9 (không có nút con phải nào).

Kết quả duyệt giữa

0, 1, 1, 2, 2, 5, 9

Như vậy, dãy các khoá theo thứ tự duyệt giữa trên cây tìm kiếm nhị phân được tạo từ dãy A = [2,1,9,0,2,1,5] là: [0, 1, 1, 2, 2, 5, 9].


Giải những bài tập khác

Bình luận

Giải bài tập những môn khác