a) Trường hợp 1: X là nút lá Chỉ cần hủy mĩc nối từ nút cha đến nút
4.5. Xĩa tồn bộ câynhị phân
Việt xĩa cây nhị phân được thực hiện đệ quy như sau: • Xĩa cây con bên trái
• Xĩa cây con bên phải • Xĩa nút gốc
{ if (t!= NULL){ if (t!= NULL){ XoaCay(t->pLeft); XoaCay(t->pRight); delete t; } } void main() { XoaCay(Root); } 5. Bài tập:
1.Trình bày thuật tốn và cài đặt tất cả các thao tác trên cây nhị phân tìm kiếm, câynhị phân tìm kiếm cân bằng trong trường hợp chấp nh
ận sự trùng khĩa nhận diệncủa các nút trong câỷ
2. Trình bày tất cả các thuật tốn và cài đặt tất cả các thuật tốn để thực
hiện việc hủymột nút trên cây nhị phân tìm kiếm nếu cây cĩ 02 cây con? Theo bạn, thuật tốn
nào là đơn giản? Cho nhận xét về mỗi thuật tốn?
3. Trình bày và cài đặt tất cả các thuật tốn để thực hiện các thao tá c trên cây nhịphân tìm kiếm, cây nhị phân tìm kiếm cân bằng trong hai
trường hợp: Chấp nhận vàKhơng chấp nhận sự trùng lắp về khĩa của
các nút bằng cách khơng sử dụng thuật_tốn đệ quy (Trừ các thao tác
đã trình
bày trong tài liệu)?
4. Trình bày thuật tốn và cài đặt chương trình thực hiện các cơng việc sau trên cây nhị phân:
a) Tính số nút lá của câỵ
b) Tính số nút trung gian của câỵ
c) Tính chiều dài đường đi tới một nút cĩ khĩa là K trên câỵ d) Cho biết cấp của một nút cĩ khĩa là K trên câỵ
6. Trình bày thuật tốn và cài đặt chương trình thực hiện cơng việc tạo cây nhị phântìm kiếm mà khĩa của các nút là khĩa của các nút t rong một danh sách liên kết đơisao cho tối ưu hĩa bộ nhớ. Biết rằng, d anh sách liên kết đơi ban đầu khơng cần thiết
sau khi tạo xong cây nhị phân tìm kiếm và giả sử khơng cho phép
sự
trùng khĩa giữa các nút trong câỵ
7. Với yêu cầu trong bài tập 8 ở trên, trong trường hợp nếu danh sách l iên
kết cĩ nhiềunút cĩ thành phần dữ liệu giống nhau, bạn hãy đề xu
ất
phương án giải quyết đểkhơng bị mất dữ liệu sau khi tạo xong cây nhị
phân tìm kiếm.
8. Trình bày thuật tốn và cài đặt chương trình thực hiện cơng việc
chuyển cây nhị_phân tìm kiếm thành danh sách liên kết đơi sao cho
tối ưu hĩa bộ nhớ. Biết rằng,cây nhị phân tìm kiếm ban đầu khơng
cần thiết_sau khi tạo xong danh sách liên kết
Chương 5: Các phương pháp Sắp xếp 1. Khái quát về sắp xếp:
Để thuận tiện và giảm thiểu thời gian thao tác mà đặc biệt là để tìm
kiếm dữ liệu dễ dàng và nhanh chĩng, thơng thường trước khi thao tác thì dữ liệu trên mảng, trên tập tin đã cĩ thứ tự. Do vậy, thao tác sắp xếp dữ liệu là một trong những thao tác cần thiết và thường gặp trong quá trình lưu trữ, quảnlý dữ liệụ
Thứ tự xuất hiện dữ liệu cĩ thể là thứ tự tăng (khơng giảm dần) hoặc thứ tự giảm (khơng tăng dần). Trong phạm vi chương này chúng ta sẽ thực hiện việc sắp xếp dữ liệu theo thứ tự tăng. Việc sắp xếp dữ liệu theo thứ tự giảm hồn tồn tương tự.
Cĩ rất nhiều thuật tốn sắp xếp song chúng ta cĩ thể phân chia các thuật tốn sắp xếp
thành hai nhĩm chính căn cứ vào vị trí lưu trữ của dữ liệu trong máy tính, đĩ
là:
- Các giải thuật sắp xếp thứ tự nội (sắp xếp thứ tự trên dãy/mảng),
- Các giải thuật sắp xếp thứ tự ngoại (sắp xếp thứ tự trên tập tin/file).