THÔNG TIN TÀI LIỆU
Các cấu trúc liệu nâng cao (Advanced Data Structures) 3.1 Cây nhị phân tìm kiếm cân 3.2 B-Cây 3.3 Bảng băm – Hash Table Winter 2014 151 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM B-Cây Đặt vấn đề Truy xuất liệu nhớ m-way search tree Định nghĩa B-cây Lưu trữ B-cây nhớ Khai báo cấu trúc B-cây Các thao tác B-cây Winter 2014 152 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Đặt vấn đề Các ứng dụng database Cần lưu trữ liệu lớn (vd 1,000,000 – 1,000,000,000 phần tử) Lưu trữ nhớ Tốc độ tìm kiếm nhanh Winter 2014 153 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Truy xuất liệu nhớ (1) Bộ nhớ ngoài: HDD, DVD, tape,… Đơn vị truy xuất tối thiểu ? Thời gian truy xuất ? Winter 2014 154/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Truy xuất liệu nhớ (2) Thời gian để đọc/ghi block t = thời gian dịch chuyển đầu đọc đến block + thời gian đọc/ghi block vào nhớ Winter 2014 155/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Truy xuất liệu nhớ (3) Vd thời gian để đọc block liên tiếp, block=1KB t1 = 20ms + (5ms + 5ms) = 30ms Vd thời gian để đọc block xa nhau, block=1KB t2 = * (20ms + 5ms) = 50ms Winter 2014 156/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM m-way Search Tree (1) Cây nhị phân với phần tử gom thành block (trên đĩa) Winter 2014 157/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM m-way Search Tree (2) Định nghĩa: m-way search tree thỏa Mỗi node có tối đa m (m-1) khóa Các khóa node tăng dần Các khóa thứ i nhỏ khóa i Các khóa thứ (i+1) lớn khóa i Winter 2014 158/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM m-way Search Tree (3) Cây tìm kiếm m-way, thao tác tìm kiếm hoạt động tương tự BST Winter 2014 159/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Định nghĩa B-cây (1) Định nghĩa: B-cây bậc m (m>2) m-way search tree thỏa Node gốc có khóa con, ngoại trừ node Mỗi node có (m-1)/2 khóa Mỗi node có (m-1)/2 khóa (m1)/2+1 Tất node có mức * Node (internal node): node gốc * B-cây giới thiệu vào năm 1972 Bayer McCreight Winter 2014 160/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Lưu trữ B-cây nhớ (1) Winter 2014 166/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Lưu trữ B-cây nhớ (2) Node gốc nên lưu thường xuyên nhớ Không cần thực thao tác READ_ROOT Thao tác WRITE_ROOT thực node gốc thay đổi Winter 2014 167/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Lưu trữ B-cây nhớ ngồi (3) (a) B-cây với khóa khơng có thơng tin phụ (b) B-cây có thêm thơng tin phụ cho khóa Winter 2014 168/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Khai báo cấu trúc B-cây (1) Hãy xây dựng cấu trúc liệu khai báo (struct/class) cho node B-cây ? Hãy xây dựng cấu trúc liệu khai báo (struct/class) cho header file chứa B-cây ? Winter 2014 169/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Khai báo cấu trúc B-cây (2) Winter 2014 170/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Các thao tác B-cây Tìm kiếm khóa Thêm khóa Xóa khóa Winter 2014 171/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Thêm khóa vào B-cây (1) Khóa thêm vào node node chỗ trống Winter 2014 172/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Thêm khóa vào B-cây (2) Khóa thêm vào node đầy split node chuyển khóa lên node cha Winter 2014 173/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Thêm khóa vào B-cây (3) Thuật tốn: Khóa thêm vào node node cịn chỗ trống Các khóa node thứ tự tăng dần Nếu node chứa khóa đầy tách node (split) cách tạo node mới; copy (m-1)/2 khóa sang node mới; chuyển khóa lên node cha; tạo trỏ từ node cha đến node Q trình tách node thực liên tiếp cho node B-cây Trường hợp xấu nhất, node gốc bị tách tạo thành node gốc Winter 2014 174/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Thêm khóa vào B-cây (4) Split node nhiều lần dẫn tới split node gốc tạo thành node gốc Winter 2014 175/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Xóa khóa B-cây (1) Xóa khóa node node dư khóa Winter 2014 176/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Xóa khóa B-cây (2) Xóa khóa node node thiếu khóa node anh/em có khóa dư mượn khóa từ node anh/em Winter 2014 177/203 (C) Nguyen Tri Tuan - DH.KHTN Tp.HCM Xóa khóa B-cây (3) Thuật tốn: Xóa khóa node • Nếu sau xóa key, số khóa node >= (m-1)/2 stop • Nếu sau xóa key, node có (m-1)/2 khóa – Nếu node anh/em có > (m-1)/2 khóa mượn khóa từ node anh/em – Nếu node anh/em có
Ngày đăng: 25/03/2023, 13:10
Xem thêm: