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

Cấu trúc dữ liệu cây m nhánh vs b cây chapter05 adt m tree

55 6 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

CẤU TRÚC DỮ LIỆU CÂY M-NHÁNH VS B CÂY Bùi Tiến Lên 01/01/2017 CÂY M-NHÁNH Cây m-nhánh Định nghĩa Cây m-nhánh (m-way tree) tìm kiếm có tính chất sau I I Mỗi nút có I tối thiểu khóa I tối đa m − khóa có giá trị phân biệt Các khóa nút thứ tự tăng dần Spring 2017 Data structure & Algorithm Cây m-nhánh (cont.) Định nghĩa I Mỗi nút có k khóa {v1 , , vk } có k + {T1 , , Tk+1 }, rỗng I Cây đầu T chứa khóa v khoảng v ∈ (−∞, v1 ) I Cây cuối Tk+1 chứa khóa v khoảng v ∈ (vk , ∞) I Spring 2017 (2) Cây Ti , i = 2, , k chứa khóa v khoảng v ∈ (vi , vi+1 ) I (1) (3) Mỗi khóa vi có trái Ti phải Ti+1 Data structure & Algorithm Minh họa v1 T1 vi vi+1 Ti vk Tk+1 Hình 1: Nút khóa Spring 2017 Data structure & Algorithm Minh họa (cont.) v1 vi Ti vi+1 vk Ti+1 Hình 2: Khóa trái phải Spring 2017 Data structure & Algorithm Minh họa (cont.) 16 18 22 20 26 24 28 30 Hình 3: Cây 3-nhánh Spring 2017 Data structure & Algorithm Các thao tác m-nhánh Đối với m-nhánh có thao tác I Duyệt khóa I Tìm khóa I Thêm khóa vào I Xóa khóa khỏi Spring 2017 Data structure & Algorithm Thao tác duyệt Ta xem đồ thị tổng quát áp dụng thuật toán duyệt đồ thị để duyệt Có hai thuật toán duyệt I Duyệt theo chiều sâu (Depth First Traversal - DFT ) I Duyệt theo chiều rộng (Breath First Traversal - BFT ) Spring 2017 Data structure & Algorithm Duyệt theo chiều sâu PROCEDURE Dft(r ) BEGIN Thăm nút r FOR nút u r DO IF u chưa thăm THEN DFT(u) END Spring 2017 Data structure & Algorithm 10 Xóa khóa khỏi I I Xóa khóa v khỏi nút N   Nếu nút N sau xóa bị “hụt” khóa (có m−1 khóa) I Trường hợp 1: Nếu nút anh em kế bên có dư khóa (nhiều   m−1 khóa) “mượn khóa” I Trường hợp 2: Nếu nút anh em kế bên khơng dư khóa “nhập nút” với nút anh em Spring 2017 Data structure & Algorithm 39 Xóa khóa khỏi (cont.) I Trường hợp 1: I Nút N = {N , , N } thiếu khóa t I Nút L = {L , , L } “anh em bên trái” dư khóa s I N nút gốc phải khóa p L nút gốc trái p Spring 2017 Data structure & Algorithm 40 Xóa khóa khỏi (cont.) L1 Ls p N1 Nt L1 Ls Ls-1 T p N1 Nt T Hình 22: Xử lý “mượn khóa” Spring 2017 Data structure & Algorithm 41 Xóa khóa khỏi (cont.) I Trường hợp 2: I Nút N = {N , , N } thiếu khóa khơng có nút anh t em dư khóa I Nút L = {L , , L } s I N nút gốc phải khóa p L nút gốc trái p Spring 2017 Data structure & Algorithm 42 Xóa khóa khỏi (cont.) L1 p Ls L1 Ls N1 Nt Nt p N1 Hình 23: Xử lý “nhập nút” Spring 2017 Data structure & Algorithm 43 Minh họa xóa phần tử 18 22 20 26 24 28 30 Hình 24: B-cây 3-nhánh Spring 2017 Data structure & Algorithm 44 Minh họa xóa phần tử (cont.) 18 22 20 24 xx 28 30 Hình 25: Xóa khóa 26: nút đỏ thiếu khóa Spring 2017 Data structure & Algorithm 45 Minh họa xóa phần tử (cont.) 18 22 20 28 24 30 Hình 26: Xóa khóa 26: mượn khóa (trường hợp 1) Spring 2017 Data structure & Algorithm 46 Minh họa xóa phần tử (cont.) 22 xx 20 28 24 30 Hình 27: Xóa khóa 18: nút đỏ thiếu khóa Spring 2017 Data structure & Algorithm 47 Minh họa xóa phần tử (cont.) xx 22 20 28 24 30 Hình 28: Xóa khóa 18: nhập nút (trường hợp 2), nút đỏ thiếu khóa Spring 2017 Data structure & Algorithm 48 Minh họa xóa phần tử (cont.) 22 28 20 24 30 Hình 29: Xóa khóa 18: mượn khóa (trường hợp 1) Spring 2017 Data structure & Algorithm 49 Bài luyện tập Ví dụ Hãy xây dựng B-cây 3-nhánh từ dãy {4, 3, 5, 1, 2, 7, 9, 8, 15, 11, 12, 16} I Xóa nút 8, 16 I Thêm nút 6, 17 Spring 2017 Data structure & Algorithm 50 Định lý chiều cao B-cây Định lý Gọi n (n ≥ 1) số phần tử hay khóa B-cây m (m > 2) bậc h chiều cao h ≤ logm Spring 2017 n+1 Data structure & Algorithm (4) 51 Đánh giá B-cây Phân tích chi phí thực theo n (số lượng nút cây) tìm phần tử thêm phần tử xóa phần tử xấu ? ? ? trung bình ? ? ? tốt ? ? ? Phân tích chi phí nhớ theo n (số lượng nút cây) Spring 2017 Data structure & Algorithm 52 Tài liệu tham khảo Spring 2017 Data structure & Algorithm 53 ... Algorithm khóa 30 B -cây (cont.) Ký hiệu số B -cây thông dụng B -cây m-nhánh ký hiệu I I B -cây b? ??c m    Hoặc m−1 + 1, m Một số B -cây phổ biến I B -cây b? ??c (2, 3) 2-3 I B -cây b? ??c (2, 4) 2-3-4 Spring... B? ?i luyện tập Ví dụ Hãy xây dựng 3-nhánh từ dãy {4, 3, 5, 1, 2, 7, 9, 8, 15, 11, 12,16} I Xóa nút 8, 16 I Thêm nút 6, 17 Spring 2017 Data structure & Algorithm 27 B- CÂY B -cây Giới thiệu I B -cây. .. Giới thiệu I B -cây Rudolf Bayer, Edward M McCreight phát minh cân tổng quát I I B -cây phù hợp cho hệ thống đọc ghi liệu lớn Nó thường dùng sở liệu hệ thống tập tin B -cây sử dụng tối thiểu thao

Ngày đăng: 25/03/2023, 07:21

Xem thêm: