tailieunhanh - Bài giảng Phân tích thiết kế giải thuật: Chương 4 - ĐH Bách khoa

Bài giảng Phân tích thiết kế giải thuật: Chương 4 - B-Cây bao gồm những nội dung về cấu trúc dữ liệu trong bộ nhớ ngoài; truy cập đĩa; các thao tác lên một đĩa; hệ số phân nhánh; định nghĩa của B-cây; các thao tác lên một B-cây và một số nội dung khác. | Ch. 4: B-Trees B-Cây Ch. 4: B-Trees Cấu trúc dữ liệu trong bộ nhớ ngoài B-cây tổng quát hoá cây tìm kiếm nhị phân. “Hệ số phân nhánh” (branching factor) B-cây là cây tìm kiếm cân bằng được thiết kế để làm việc hữu hiệu trong bộ nhớ ngoài (đĩa cứng). Bộ nhớ chính (main memory) Bộ nhớ ngoài (secondary storage) Disk Track Page Thời gian chạy gồm số các truy cập vào đĩa thời gian CPU Ch. 4: B-Trees Truy cập đĩa Một nút của B-cây thường chiếm nguyên cả một disk page. Hệ số phân nhánh tùy thuộc vào tỉ lệ giữa kích thước của khóa và kích thước của disk page. Ch. 4: B-Trees Các thao tác lên một đĩa Cho x là một con trỏ đến một đối tượng (ví dụ: một nút của một B-cây). Đối tượng x có thể có nhiều trường Nếu x nằm trong bộ nhớ chính, truy cập các trường của x như thường lệ, ví dụ như key[x], leaf [x],. Nếu x còn nằm trên đĩa thì dùng DISK-READ(x) để đọc nó vào bộ nhớ chính. Nếu x đã thay đổi thì dùng DISK-WRITE(x) để trữ nó vào đĩa. Cách làm việc tiêu biểu với một đối tượng x . x một con trỏ đến một đối tượng nào đó DISK-READ(x) các thao tác truy cập/thay đổi các trường của x DISK-WRITE(x) các thao tác không thay đổi một trường của x . Ch. 4: B-Trees Hệ số phân nhánh Ví dụ một B-cây mà: mỗi nút có 1000 khóa (số trong mỗi nút là số khóa nó chứa), tức là B-cây có hệ số phân nhánh là 1001 1000 1000 1000 1000 1000 1000 1000 1001 1001 1001 1001 1 nút 1000 khóa 1001 nút khóa nút khóa root[T] Ch. 4: B-Trees Định nghĩa của B-cây Một B-cây T là một cây có gốc, mà gốc là root[T], có các tính chất sau Mỗi nút x có các trường sau n[x], số lượng khóa đang được chứa trong nút x các khóa: có n[x] khóa, được xếp theo thứ tự không giảm, tức là key1[x] key2[x] keyn[x ][x] leaf [x], có trị bool là TRUE nếu x là một lá FALSE nếu x là một nút trong Mỗi nút trong x chứa n[x] 1 con trỏ c1 [x], c2 [x], , cn[x ]+1[x] đến các nút con của nó. Ch. 4: . | Ch. 4: B-Trees B-Cây Ch. 4: B-Trees Cấu trúc dữ liệu trong bộ nhớ ngoài B-cây tổng quát hoá cây tìm kiếm nhị phân. “Hệ số phân nhánh” (branching factor) B-cây là cây tìm kiếm cân bằng được thiết kế để làm việc hữu hiệu trong bộ nhớ ngoài (đĩa cứng). Bộ nhớ chính (main memory) Bộ nhớ ngoài (secondary storage) Disk Track Page Thời gian chạy gồm số các truy cập vào đĩa thời gian CPU Ch. 4: B-Trees Truy cập đĩa Một nút của B-cây thường chiếm nguyên cả một disk page. Hệ số phân nhánh tùy thuộc vào tỉ lệ giữa kích thước của khóa và kích thước của disk page. Ch. 4: B-Trees Các thao tác lên một đĩa Cho x là một con trỏ đến một đối tượng (ví dụ: một nút của một B-cây). Đối tượng x có thể có nhiều trường Nếu x nằm trong bộ nhớ chính, truy cập các trường của x như thường lệ, ví dụ như key[x], leaf [x],. Nếu x còn nằm trên đĩa thì dùng DISK-READ(x) để đọc nó vào bộ nhớ chính. Nếu x đã thay đổi thì dùng DISK-WRITE(x) để trữ nó vào đĩa. Cách

TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
31    253    0    29-04-2024
20    198    2    29-04-2024
173    106    0    29-04-2024
6    99    0    29-04-2024
28    112    0    29-04-2024
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.