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

Cấu trúc dữ liệu trong bộ nhớ ngoài ch04 b trees

46 2 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

B trees B Caây Ch 4 B Trees Caáu truùc döõ lieäu trong boä nhôù ngoaøi B caây toång quaùt hoaù caây tìm kieám nhò phaân “Heä soá phaân nhaùnh” (branching factor) B caây laø caây tìm kieám caân baèng ñ[.]

B-Cây 22.9.2004 Ch 4: B-Trees Cấu trúc liệu nhớ ° ° ° B-cây tổng quát hoá tìm kiếm nhị phân – “Hệ số phân nhánh” (branching factor) B-cây tìm kiếm cân thiết kế để làm việc hữu hiệu nhớ (đóa cứng) – Bộ nhớ (main memory) – Bộ nhớ (secondary storage) ° Disk – Track – Page Thời gian chạy gồm – số truy cập vào đóa – thời gian CPU 22.9.2004 Ch 4: B-Trees Truy cập đóa ° ° Một nút B-cây thường chiếm nguyên disk page Hệ số phân nhánh tùy thuộc vào tỉ lệ kích thước khóa kích thước disk page 22.9.2004 Ch 4: B-Trees Các thao tác lên đóa ° ° Cho x trỏ đến đối tượng (ví dụ: nút B-cây) Đối tượng x có nhiều trường – Nếu x nằm nhớ chính, truy cập trường x thường lệ, ví dụ key[x], leaf [x], – Nếu x nằm đóa dùng DISK-READ(x) để đọc vào nhớ – Nếu x thay đổi dùng DISK-WRITE(x) để trữ vào đóa x  trỏ đến đối tượng Cách làm việc tiêu biểu với đối tượng x DISK-READ(x) thao tác truy cập/thay đổi trường x DISK-WRITE(x) thao tác không thay đổi trường x 22.9.2004 Ch 4: B-Trees Hệ số phân nhánh ° Ví dụ B-cây mà: – nút có 1000 khóa, tức B-cây có hệ số phân nhánh 1001 root[T] nút 1000 khóa 1000 khóa 1001 nhánh 1000 1001 1000 22.9.2004 1000 1000 1001 1001 1000 1000 Ch 4: B-Trees 1001 nút 1.001.000 khóa 1.002.001 nút 1.002.001.000 khóa Định nghóa B-cây ° Một B-cây T có gốc, mà gốc root[T], có tính chất sau – Mỗi nút x có trường sau ° n[x], số lượng khóa chứa nút x ° khóa: có n[x] khóa, xếp theo thứ tự không giảm, tức key1[x]  key2[x]    keyn[x ][x] leaf [x], có trị bool TRUE x FALSE x nút – Mỗi nút x chứa n[x]  trỏ c1 [x], c2 [x],…, cn[x ]+1[x] đến nút ° 22.9.2004 Ch 4: B-Trees Định nghóa B-cây (tiếp) Mô hình nút B-caây ] [1 x [x] i i y y ke ke  x N W  ci [x]  22.9.2004 Ch 4: B-Trees Định nghóa B-cây (tiếp) – Nếu ki khóa trữ có gốc ci [x] • k  key [x]  k  key [x]    k 1 2 n[x ]  keyn[x ][x]  kn[x ]+1 ] [1 x [x] i i y y ke ke  N W  x ci [x] ki 22.9.2004 Ch 4: B-Trees Định nghóa B-cây (tiếp) – Tất có độ sâu, chiều cao h – Có số nguyên t  gọi bậc tối thiểu cho ° Mọi nút nút gốc phải có t  khóa Nếu   nút gốc phải có khóa ° Mổi nút chứa tối đa 2t  khóa Một nút đầy chứa 2t  khóa 22.9.2004 Ch 4: B-Trees Chiều cao B-cây Định lý Nếu n  B-cây T với n khóa, chiều cao h, bậc tối thiểu t  n 1 có h log t Chứng minh Có tối thiểu nút độ sâu 1, 2t nút độ sâu 2, , 2t h  nút độ sâu h Vậy số khóa tối thiểu h i n 1  (t  1) 2t i 1 th  1  2(t  1) t1 2t h  n 1 h t  Do 22.9.2004 , từ suy định lý Ch 4: B-Trees 10 .. .Cấu trúc liệu nhớ ° ° ° B- cây tổng quát hoá tìm kiếm nhị phân – “Hệ số phân nhánh” (branching factor) B- cây tìm kiếm cân thiết kế để làm việc hữu hiệu nhớ (đóa cứng) – B? ?? nhớ (main... 4: B- Trees t1 t  t  11 Các thao tác lên B- cây ° ° Các thao tác lên B- cây: – B- TREE-SEARCH – B- TREE-CREATE – B- TREE-INSERT – B- TREE-DELETE Trong thủ tục ta quy ước: – Gốc B- cây luôn nằm nhớ. .. nhớ (main memory) – B? ?? nhớ (secondary storage) ° Disk – Track – Page Thời gian chạy gồm – số truy cập vào đóa – thời gian CPU 22.9.2004 Ch 4: B- Trees Truy cập đóa ° ° Một nút B- cây thường chiếm

Ngày đăng: 25/03/2023, 08:37

Xem thêm:

w