Cây nhị phân (Binary Trees) - Nguyễn Mạnh Hiển
Bạn đang xem tài liệu "Cây nhị phân (Binary Trees) - Nguyễn Mạnh Hiển", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- cay_nhi_phan_binary_trees_nguyen_manh_hien.pdf
Nội dung text: Cây nhị phân (Binary Trees) - Nguyễn Mạnh Hiển
- Cây nhị phân (Binary Trees) Nguyễn Mạnh Hiển Khoa Công nghệ thông tin hiennm@tlu.edu.vn
- Định nghĩa • Cây nhị phân là cây, trong đó mỗi nút có không quá 2 con
- Cài đặt
- Cây biểu thức • Cây biểu thức là một cây nhị phân, trong đó: − Nút trong lưu trữ toán tử − Nút lá lưu trữ toán hạng
- Duyệt cây biểu thức theo thứ tự giữa (inorder traversal) • Trình tự: con trái, nút đang xét, con phải • Đầu ra: biểu thức trung tố
- Duyệt cây biểu thức theo thứ tự sau (postorder traversal) • Trình tự: con trái, con phải, nút đang xét • Đầu ra: biểu thức hậu tố
- Duyệt cây biểu thức theo thứ tự trước (preorder traversal) • Trình tự: nút đang xét, con trái, con phải • Đầu ra: biểu thức tiền tố
- Xây dựng cây biểu thức • Xét trường hợp biểu thức hậu tố (ví dụ: a b + c d e + * *) • Cách làm: − Đọc từng ký tự từ trái sang phải − Toán hạng tạo nút đặt con trỏ tới nút vào ngăn xếp − Toán tử lấy hai con trỏ từ ngăn xếp (trỏ tới hai cây T1 và T2) tạo nút toán tử trỏ tới T1 và T2 đặt con trỏ tới nút toán tử vào ngăn xếp
- Xây dựng cây: a b + c d e + * * • Đọc a, b
- Xây dựng cây: a b + c d e + * * • Đọc +
- Xây dựng cây: a b + c d e + * * • Đọc c, d, e
- Xây dựng cây: a b + c d e + * * • Đọc +
- Xây dựng cây: a b + c d e + * * • Đọc *
- Xây dựng cây: a b + c d e + * * • Đọc *