512 bytes/ record
2.3.2. Compact B-Tree
Là B-Tree mà tất cả cỏc nỳt đều đầy (cú thể khụng đầy ở vài nỳt lỏ cuối). 5, 10, 15, 20, 25, 30, 35, 40 50 55, 60, 65, 70, 75 5, 10, 15, 20, 25, 28, 30 35 40, 50, 55, 60, 65, 70, 75 Theõm khoaự 28 5, 12, 15, 20, 25, 28, 30 35 40, 45, 50, 55, 60, 65, 70, Theõm khoaự 12 5, 10, 15, 20, 25 28, 55 60, 65, 70, 72, 75 Theõm khoaự 72 Theõm khoaự 45 30, 35, 40, 45, 50
Hỡnh 4.23-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ểncõ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 đờm 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ả 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õỵ
Cỏc khúaở nỳt là liờn kếtvới con trỏ chỉ mẩu tin của khúa khúa lưu
ở bộ nhớ ngoàị
Hỡnh 4.24- 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àị
DuyệtB+ 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 median được lưu
ở nỳt nửa trỏi vàđồng thời lưuở nỳt chạ 2, 7, 10, 13, 16, 17, 19 22, 24, 26, 27, 29, 35, 37 42, 44, 45, 47, 49, 54, 56 60, 65, 68, 70, 71, 73, 75 20, 40, 59, 78, 100, 119, 140 142, 150, 160, 170 120, 123, 128, 132, 138 102, 103, 106, 109, 115, 116 80, 82, 85, 87, 89, 92, 95 41 15, 22, 32 49, 58 4, 12 18, 22 25, 27, 30, 32 35, 38, 41 45, 49 51, 55, 58 60, 63