1 Cấu trúc dữ liệu & Giải thuật BÀI TẬP THỰC HÀNH CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNG Cho trước từ điển Anh Việt được lưu trong tập tin “tu dien dat” Sử dụng cây nhị phân tìm kiếm AVL, sinh viên viết chươn[.]
Trang 11 Cấu trúc dữ liệu & Giải thuật
BÀI TẬP THỰC HÀNH
CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNG
Cho trước từ điển Anh - Việt được lưu trong tập tin “tu_dien.dat” Sử dụng cây nhị phân tìm kiếm AVL, sinh viên viết chương trình cho phép người dùng thực hiện các chức năng sau:
Tra nghĩa tiếng Việt của từ tiếng Anh
Thêm từ tiếng Anh và nghĩa tương ứng vào từ điển
[Cộng điểm] Dịch đoạn văn từ tiếng Anh sang tiếng Việt
[Cộng điểm] Xóa từ ra khỏi từ điển
Dưới đây là mô tả định dạng tập tin từ điển và chi tiết các yêu cầu
1 Định dạng tập tin từ điển
Mỗi từ tiếng Anh và nghĩa tương ứng nằm trên một dòng, phân cách nhau bởi dấu hai chấm “:” Các nghĩa được phân cách nhau bởi dấu phẩy
Ví dụ:
bank : ngan hang, bo song, con dat, bai
ngam
student : sinh vien, nha nghien cuu
studio : xuong ve, truong quay, cong ty
dien anh
wave: gon nuoc, song dien tu
Từ điển gồm các từ tiếng Anh như bank, student, studio, wave và nghĩa tương ứng
2 Tra nghĩa của từ
Người dùng nhập vào từ tiếng Anh cần tra nghĩa Chương trình in ra màn hình nghĩa của từ tương ứng
Trong trường hợp tìm không thấy từ, chương trình thông báo là không tìm thấy
3 Thêm từ vào từ điển
Chương trình yêu cầu người dùng nhập vào từ tiếng Anh Nếu từ đã tồn tại trong từ điển thì thông báo không thể thêm được Nếu chưa có thì yêu cầu người dùng nhập nghĩa vào
Ngoài việc cập nhật cây AVL, chương trình cần cập nhật nội dung của từ điển
Trang 22 Cấu trúc dữ liệu & Giải thuật
4 [Cộng điểm] Dịch sang tiếng Việt
Chương trình yêu cầu người dùng nhập vào một đoạn văn bằng tiếng Anh Sau
đó thực hiện dịch đoạn văn sang tiếng Việt
Lưu ý, sinh viên chỉ cần dịch bằng cách thay thế nghĩa tương ứng, không cần phải đúng ngữ nghĩa của câu
Trong trường hợp từ có nhiều nghĩa, chương trình chọn ngẫu nhiên một nghĩa
để thay thế
Ví dụ: this is a car Câu dịch: đây là một xe hơi
Trong trường hợp từ tiếng Anh không có trong từ điển thì nghĩa thay thế, chương trình ghi là <null>
5 [Cộng điểm] Xóa từ khỏi từ điển
Chương trình yêu cầu người dùng nhập vào từ tiếng Anh cần xóa
Nếu từ đó không có trong từ điển thì thông báo không thể xóa
Ngược lại, xóa từ đó khỏi cây AVL Đồng thời, cập nhật luôn tập tin từ điển
6 Gợi ý cài đặt
Khai báo cấu trúc dữ liệu biểu diễn node trên cây
Struct Node{
string tuTiengAnh; // khóa của node (key)
string nghiaTiengViet; // dữ liệu của node (data)
Node* pLeft;
Node* pRight;
};
Xây dựng cây nhị phân tìm kiếm AVL từ dữ liệu được lưu trong tập tin “tu_dien.dat” Sinh viên tham khảo phần cài đặt trong tập tin HDTH phần cây nhị phân tìm kiếm cân bằng