1. Trang chủ
  2. » Tất cả

Cây nhị phân tìm kiếm baitap bst cây nhị phân tìm kiếm

5 3 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 519,68 KB

Nội dung

cẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT BÀI THỰC HÀNH TUẦN 6 CÂY NHỊ PHÂN TÌM KIẾM Cây nhị phân tìm kiếm là cây có tính chất Các node có giá trị khóa nhỏ hơn khóa ở node gốc sẽ[.]

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT BÀI THỰC HÀNH TUẦN CÂY NHỊ PHÂN TÌM KIẾM Cây nhị phân tìm kiếm có tính chất: Các node có giá trị khóa nhỏ khóa node gốc nằm trái, node có giá trị khóa lớn giá trị khóa node gốc nằm bên phải Hình minh họa 1: Cây nhị phân tìm kiếm Số lượng node cực đại cấp 𝑘 2𝑘 Số lượng node cực đại BST có độ sâu 𝑑 𝑑 𝑛 = 20 + 21 + 22 + ⋯ + 2𝑑−1 + 2𝑑 = ∑ 2𝑘 = 2𝑑+1 − Một BST đầy đủ có n node có độ sâu là: 𝑑 = log(𝑛 + 1) − Các thao tác thực BST:  Thêm node vào Input: Cây BST t, node a CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Output: Cây BST t với node a thêm vào Bước Bắt đầu từ node gốc t Bước Kiểm tra giá trị node có với giá trị t khơng, dừng trùng khóa Bước Nếu giá trị node nhỏ t, thì: 3.1 Nếu t khơng có trái thêm a vào trái t 3.2 Nếu t có trái gán t = trái t lặp lại bước Bước Nếu giá trị node lớn t, thì: 4.1 Nếu t khơng có phải thêm a vào thành phải t 4.2 Nếu t có phải gán t = phải t lặp lại bước  Xóa node cây: Có trường hợp xảy xóa node khỏi BST Trong ảnh minh họa bên dưới, node màu đỏ node bị xóa khỏi BST o Xóa node lá: Hình minh họa 2: Xóa node o Xóa node có con: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Hình minh họa 3: Tìm node node cần xóa (18 ví dụ này) sau xóa node 18 thay node 21 Hình minh họa 4: Kết sau xóa node 18 o Xóa node có đủ hai con: Đây trường hợp phức tạp việc xóa node khỏi BST Ta bắt đầu cơng việc việc tìm phần tử nhỏ phải thực thay phần tử bị xóa phần tử Cuối ta xóa phần tử thay CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Hình minh họa 5: Tìm phần tử thay Trong trường hợp node 19 Hình minh họa 6: Thực chép node thay xóa node thay vị trí cũ  Duyệt theo Pre-order: Với chiến lược này, BST duyệt theo thứ tự: node gốc, trái, phải  Duyệt theo In-order: Với chiến lược này, BST duyệt theo thứ tự trái, node gốc, phải  Duyệt theo Post-Order: Với chiến lược này, BST duyệt theo thứ tự trái, phải, node gốc CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Bài tập nộp Moodle: Viết chương trình thực thao tác sau: a Định nghĩa cấu trúc BST với node giá trị nguyên b Thực thao tác thêm, xóa, duyệt Viết chương trình thực yêu cầu sau: a Đọc mảng số thực kiểu float từ tập tin văn chuyển thành nhị phân tìm kiếm Tập tin văn đầu vào có định dạng sau: b Kiểm tra xem nhị phân tìm kiếm đọc từ file có “đầy đủ” khơng c Nếu BST khơng “đầy đủ” chuyển thành BST đầy đủ Xuất kết hình ... Đọc mảng số thực kiểu float từ tập tin văn chuyển thành nhị phân tìm kiếm Tập tin văn đầu vào có định dạng sau: b Kiểm tra xem nhị phân tìm kiếm đọc từ file có “đầy đủ” khơng c Nếu BST khơng “đầy... khỏi BST Ta bắt đầu công việc việc tìm phần tử nhỏ phải thực thay phần tử bị xóa phần tử Cuối ta xóa phần tử thay CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Hình minh họa 5: Tìm phần tử thay Trong trường hợp... lá: Hình minh họa 2: Xóa node o Xóa node có con: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Hình minh họa 3: Tìm node node cần xóa (18 ví dụ này) sau xóa node 18 thay node 21 Hình minh họa 4: Kết sau xóa node

Ngày đăng: 25/03/2023, 13:09

TỪ KHÓA LIÊN QUAN

w