Bài giảng Cấu trúc dữ liệu và giải thuật: B-Cây - Văn Chí Nam, Nguyễn Thị Hồng Nhung, Đặng Nguyễn Đức Tiến

24 63 0
Bài giảng Cấu trúc dữ liệu và giải thuật: B-Cây - Văn Chí Nam, Nguyễn Thị Hồng Nhung, Đặng Nguyễn Đức Tiến

Đ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ài giảng Cấu trúc dữ liệu và giải thuật: B-Cây cung cấp cho người học các kiến thức: Cây tìm kiếm m-nhánh, B-Cây, các thao tác trên B-cây. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.

Giảng viên: Văn Chí Nam – Nguyễn Thị Hồng Nhung – Đặng Nguyễn Đức Tiến Cây tìm kiếm m-nhánh B-Cây Các thao tác B-cây Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt m-way search tree m-way tree Cấu trúc liệu giải thuật – HCMUS 2015  Cây tìm kiếm m-nhánh có tính chất: Có tối đa m-1 khóa node (v1, v2, , vk) (k  m-1)  Các giá trị khóa node tổ chức có thứ tự (v1 < v2 < < vk)  Một node có k khóa có k + (các rỗng)  Các đặt hai giá trị khóa  Hai nằm hai đầu dãy khóa  Mỗi khóa có trái phải    Các giá trị trái nhỏ giá trị khóa Các giá trị phải lớn giá trị khóa Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 16 10 14 25 20 33 11 42 28 49 Cây tìm kiếm 3-nhánh Cấu trúc liệu giải thuật – HCMUS 2015  Tìm kiếm  Thêm phần tử  Xóa phần tử Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt  Tổng quát hóa từ trường hợp nhị phân tìm kiếm X giá trị cần tìm  Nếu X < v1 tìm X bên nhánh trái v1  Ngược lại, X > vk tìm X bên nhánh phải vk  Nếu X = vi thơng báo tìm thấy  Nếu vi < X < vi+1 tìm X nằm vi vi+1 Cấu trúc liệu giải thuật – HCMUS 2015  Tổng quát hóa từ trường hợp nhị phân tìm kiếm X giá trị cần thêm vào  Duyệt tìm X  Nếu X tồn khơng thêm  Nếu X chưa tồn (tìm thấy node rỗng)   Nếu node cha (của node rỗng tìm thấy) cịn thêm X vào thêm X vào node cha Ngược lại, tạo node thêm X vào node Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 16 10 14 11 25 20 33 13 42 28 49 Thêm vào giá trị 13 Cấu trúc liệu giải thuật – HCMUS 2015 10 16 10 14 25 20 33 11 28 42 37 49 Thêm vào giá trị 37 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 11  Tương tự nhị phân tìm kiếm  Tìm vị trí phần tử X cần xóa  Nếu X nằm hai rỗng xóa X  Nếu X có con, thay X bằng:  Phần tử lớn bên trái X  Phần tử nhỏ bên phải X Cấu trúc liệu giải thuật – HCMUS 2015 12 16 10 14 25 20 33 11 42 28 49 Xóa giá trị 20 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 13 16 10 25 14 33 11 42 28 49 Xóa giá trị 25 Cấu trúc liệu giải thuật – HCMUS 2015 14 16 10 28 14 33 11 42 25 49 Xóa giá trị 25 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 15 16 10 28 14 33 42 11 49 Xóa giá trị 25 Cấu trúc liệu giải thuật – HCMUS 2015 16 B-tree Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 17  B-cây bậc m tìm kiếm m-nhánh (m>2) thỏa:  Nút gốc có khóa  Tất rỗng mức  Tất node (trừ node gốc) có m/2 (có m/2 -1 khóa)  Giá trị m thường lẻ Cấu trúc liệu giải thuật – HCMUS 2015 18 Một B-cây có bậc 26 12 42 27 29 13 45 46 48 15 18 51 62 25 53 55 60 64 70 90 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 19 Có phải B-cây? 26 12 42 27 13 29 45 46 48 15 18 51 62 25 53 55 60 64 70 90 Cấu trúc liệu giải thuật – HCMUS 2015 20  Tìm kiếm  Thực tương tự tìm kiếm m-nhánh  Thêm phần tử  Xóa phần tử Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 10 21  Thêm phần tử vào node  Nếu node bị tràn Tách thành node  Khóa đưa lên node cha    Thực tương tự node cha bị tràn Nếu node gốc bị tràn tạo node gốc (có khóa khóa node cũ) Cấu trúc liệu giải thuật – HCMUS 2015 22  Tạo B-cây bậc gồm phần tử theo thứ tự sau:  1, 12, 8, 2, 25, 5, 14, 28, 17 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 11 12 25 14 28 17 23 Thêm Thêm 12 12 Thêm 12 12 Thêm Cấu trúc liệu giải thuật – HCMUS 2015 12 25 14 28 17 24 12 12 25 12 25 Thêm 25 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 12 12 25 14 28 17 25 12 14 25 28 Thêm 5, 14, 28 Cấu trúc liệu giải thuật – HCMUS 2015 12 25 14 28 17 26 12 14 17 25 28 17 12 14 25 28 Thêm 17 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 13 27  Thực tương tự tìm kiếm m-nhánh  Xét hai trường hợp:  Khóa thuộc node  Khóa thuộc node Cấu trúc liệu giải thuật – HCMUS 2015 28  Khóa thuộc node lá:  Xóa khóa khỏi node chứa khóa  Sau xóa, node chứa khóa xóa có số khóa khơng đủ (ít m/2-1 khóa) thì:  Mượn khóa từ node bên cạnh (Node bên cạnh dư khóa)  Nhập khóa với node bên cạnh với khóa cha (Node bên cạnh KHƠNG dư khóa) Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 14 29  Khóa thuộc node trong:  Khóa bị xóa có node bên nhánh trái nhánh phải có số khóa tối thiểu (m/2-1 khóa): nhập khóa node  Ngược lại: tìm phần tử mạng thực cân lại trường hợp xóa khóa thuộc node Cấu trúc liệu giải thuật – HCMUS 2015 30  Cho B-cây bậc 5: 12 29 52 15 22 31 43 56 69 72 Xóa khóa Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 15 31  Cho B-cây bậc 5: 12 29 52 15 22 31 43 56 69 72 Cấu trúc liệu giải thuật – HCMUS 2015 32  Cho B-cây bậc 5: 12 29 52 15 22 31 43 56 69 72 Xóa khóa 52 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 16 33  Cho B-cây bậc 5: 12 29 56 15 22 31 43 52 69 72 Xóa khóa 52 Thay 56 Cấu trúc liệu giải thuật – HCMUS 2015 34  Cho B-cây bậc 5: 12 29 56 15 22 31 43 69 72 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 17 35  Cho B-cây bậc 5: 12 29 56 15 22 31 43 69 72 Xóa khóa 72 Cấu trúc liệu giải thuật – HCMUS 2015 36  Cho B-cây bậc 5: 12 29 56 15 22 31 43 69 Ít khóa -> Nhập node Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 18 37  Cho B-cây bậc 5: 12 29 15 22 31 43 56 69 Cấu trúc liệu giải thuật – HCMUS 2015 38  Cho B-cây bậc 5: 12 29 15 22 31 43 56 69 Xóa khóa 22 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 19 39  Cho B-cây bậc 5: 12 29 15 31 43 56 69 Mượn khóa Cấu trúc liệu giải thuật – HCMUS 2015 40  Cho B-cây bậc 5: 12 31 15 29 43 56 69 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 20 41  Cho B-cây bậc 5: 16 28 48 12 14 25 26 29 45 52 53 Nhập node lại Xóa khóa Cấu trúc liệu giải thuật – HCMUS 2015 42  Cho B-cây bậc 5: 16 28 48 12 14 25 26 29 45 52 53 Nhận xét? Node bị thiếu khóa Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 21 43  Cho B-cây bậc 5: tạo node → hạ độ cao 16 28 48 12 14 25 26 29 45 52 53 Cấu trúc liệu giải thuật – HCMUS 2015 44  Cho B-cây bậc đây:  Xóa 28 xóa 48 17 28 12 14 16 25 26 29 48 45 52 53 55 68 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 22 45    B-cây dạng cân bằng, phù hợp với việc lưu trữ đĩa B-cây tiêu tốn số phép truy xuất đĩa tối thiểu cho thao tác Có thể quản lý số phần tử lớn Cấu trúc liệu giải thuật – HCMUS 2015 46  Xây dựng cấu trúc mục hệ quản trị sở liệu Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 23 47 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 24 ... trị 25 Cấu trúc liệu giải thuật – HCMUS 2015 16 B-tree Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS https://fb.com/tailieudientucntt 17  B-cây bậc m tìm kiếm m-nhánh... Cho B-cây bậc 5: 12 29 15 31 43 56 69 Mượn khóa Cấu trúc liệu giải thuật – HCMUS 2015 40  Cho B-cây bậc 5: 12 31 15 29 43 56 69 Cấu trúc liệu giải thuật – HCMUS 2015 CuuDuongThanCong.com ©FIT-HCMUS... https://fb.com/tailieudientucntt 15 31  Cho B-cây bậc 5: 12 29 52 15 22 31 43 56 69 72 Cấu trúc liệu giải thuật – HCMUS 2015 32  Cho B-cây bậc 5: 12 29 52 15 22 31 43 56 69 72 Xóa khóa 52 Cấu trúc liệu giải thuật – HCMUS

Ngày đăng: 11/01/2020, 17:48

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan