0
Tải bản đầy đủ (.doc) (67 trang)

Compac B-Tree

Một phần của tài liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT II - CHƯƠNG 4 PPSX (Trang 35 -37 )

Hình 4.18 - Một Compact B-Tree bậc 8

Ưu điểm của Compact B-Tree :

• Tìm kiếm một khóa trên cây nhanh . • Là cấu trúc sử dụng bộ nhớ trong 100%. Khuyết điểm của Compact B-Tree :

• Giải thuật thêm một khóa vào Compact B-Tree rất phức tạp, chi phí để chuyến cây về dạng Compact B-Tree rất lớn

Nếu dùng thực hiện phép toán insert của B-Tree trên Compact B-Tree thì quá trình tách nút sẽ diễn ra đồng loạt từ nút lá đến nút gốc !

Cấu trúc Compact B-Tree chỉ phù hợp khi cây ít bị thay đổi (ít thực hiện phép toán thêm khóa, xóa khóa).

Người ta thường nên B-Tree (chuyển B-Tree về dạng Compact B-Tree trong thời gian hệ thống rãnh rỗi, chẳng hạn nén vào lúc trời khuya thanh vắng…)

2.3.3. B+ -Tree

Vì B-Tree duyệt cây phức tạp người ta cải tiến thành B+Tree để giúp duyệt cây hiệu quản hơn.

B+ Tree là B-Tree (lúc này cho phép trùng khóa) mà tất cả các khóa trên cây đều có mặt ở các nút lá. Các nút lá được liên kết nhau từ trái qua phải hình thành một danh sách liên kết giúp duyệt các khóa trên cây.

Các khóa ở nút là liên kết với con trỏ chỉ mẫu tin của khóa khóa lưu ở bộ nhớ ngoài.

Hình 4.19 - Cây B+Tree bậc 4

Các phép toán trên B+ -Tree

• Truy xuất mẫu tin có khóa k :

Cũng như search của B-Tree, nhưng quá trình tìm kiếm chỉ kết thúc khi đi đến lá để truy xuất được con trỏ chỉ mẫu tin của khóa ở bộ nhớ ngoài.

• Duyệt B+ Tree:

Chúng ta có thể duyệt toàn bộ cây hay duyệt từ

khóa………..đến khóa……..bằng cách duyệt danh sách liên kết của các nút lá.

• Thêm khóa :

Tương tự B-Tree, tuy nhiên khi tách nút khóa giữa midkey được lưu ở nút nửa trái và đồng thời lưu ở nút cha.

Một phần của tài liệu CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT II - CHƯƠNG 4 PPSX (Trang 35 -37 )

×