Bài giảng Cấu trúc dữ liệu và giải thuật: B-Cây - Đậu Ngọc Hà Dương

81 33 0
Bài giảng Cấu trúc dữ liệu và giải thuật: B-Cây - Đậu Ngọc Hà Dương

Đ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 - Đậu Ngọc Hà Dương có nội dung trình bày về cây tìm kiếm m-nhánh, B-cây, các thao tác trên B-cây, cây B+, tập tin chỉ mục IDX trong FoxPro,... Mời các bạn cùng tham khảo!

Cấu trúc dữ liệu và giải thuật B-Cây Giảng viên: Đậu Ngọc Hà Dương Nội dung trình bày Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Cây tìm kiếm m-nhánh  m­way search tree  m­way tree Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Định nghĩa  Cây tìm kiếm m­nhánh là cây 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  Hai đặt hai giá trị khóa nằm hai đầu dãy khóa  Mỗi khóa có trái Cấu trúc dữ liệu và giải thuật – HCMUS 2010  phải Các giá trị trái nhỏ giá trị khóa Ví dụ 16 10 14 25 20 11 33 28 Cây tìm kiếm 3­nhánh Cấu trúc dữ liệu và giải thuật – HCMUS 2010 42 49 Thao tác  Tìm kiếm  Thêm phần tử  Xóa phần tử Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Tìm kiếm  Tổng qt hóa từ trường hợp cây 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 dữ liệu và giải thuật – HCMUS 2010 Thêm phần tử  Tổng qt hóa từ trường hợp cây 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 dữ liệu và giải thuật – HCMUS 2010 Thêm phần tử 16 10 14 11 25 20 13 33 28 Thêm vào giá trị 13 Cấu trúc dữ liệu và giải thuật – HCMUS 2010 42 49 Thêm phần tử 10 16 10 14 25 20 11 33 28 Thêm vào giá trị 37 Cấu trúc dữ liệu và giải thuật – HCMUS 2010 42 37 49 67 Hỏi Đáp Cấu trúc dữ liệu và giải thuật – HCMUS 2010 68 Chỉ mục Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Giới thiệu 69 Hãy nêu những ví dụ thực tế đã biết về chỉ mục? Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Giới thiệu 70 Lợi ích của chỉ mục? Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Giới thiệu 71  Các khuyết điểm lớn với cách lưu trữ trên tập  tin tuần tự:  Tốc độ tìm kiếm chậm  Khơng an tồn  Khơng có nhiều tiêu chí tìm kiếm khác Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Định nghĩa 72   Chỉ mục:   Là tập hợp phần tử mục (Index entry)  Được tổ chức theo qui tắc xác định nhằm tăng tốc độ tìm kiếm bảng liệu Phần tử chỉ mục: là cấu trúc gồm tối thiểu 2  thuộc tính:  Khóa tìm kiếm: (hay nhiều) thuộc tính, dùng để tìm kiếm mẫu tin bảng liệu  Tham Cấu trúc d ữ liệu và gi ải thu ật – HCMUS 2010 chiếu: trỏ tham chiếu đến vị trí mẫu tin Tính chất mục 73  Kích thước nhỏ hơn nhiều so với bảng dữ liệu  Thực hiện tìm kiếm nhanh  Cho phép ‘nhìn’ dữ liệu ở nhiều góc độ khác  nhau. (Tìm kiếm trên nhiều khóa tìm kiếm khác  nhau) Cấu trúc dữ liệu và giải thuật – HCMUS 2010 74 Các loại mục Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Các loại mục 75   Chỉ mục dày đặc (Dense index):  Các phần tử mục tạo riêng cho khóa tìm kiếm  Trong trường hợp trùng khóa, tham chiếu trỏ đến ghi Chỉ mục thưa (Sparse index)  Tạo phần tử mục cho nhóm khóa tìm kiếm  Sửữdụng hợp khóa Cấu trúc d  liệu và gi ải thuậtrường t – HCMUS 2010 tìm kiếm Chỉ mục dày đặc 76 An Dương Vương Cách Mạng Tháng 8 An Dương Vương 217 Nguyễn Văn A Nguyễn Văn Cừ Cách Mạng Tháng 8 101 Trần Thị B Phan Xích Long Cách Mạng Tháng 8 110 Hồng Ngọc M Trần Phú Nguyễn Văn Cừ 215 Lý Minh K Xơ Viết Nghệ Tĩnh 10 Nguyễn Văn Cừ 423 Vũ Quốc C Nguyễn Văn Cừ 192 Lê Nguyễn U Phan Xích Long 218 Quách P Trần Phú 222 Trần Đăng O Trần Phú 305 Phan Quỳnh L Xô Viết Nghệ Tĩnh Cấu trúc dữ liệu và giải thuật – HCMUS 2010 1234 Đặng Thị G Chỉ mục thưa 77 An Dương Vương Nguyễn Văn Cừ An Dương Vương 217 Nguyễn Văn A Phan Xích Long Cách Mạng Tháng 8 101 Trần Thị B Cách Mạng Tháng 8 110 Hồng Ngọc M Nguyễn Văn Cừ 215 Lý Minh K Nguyễn Văn Cừ 423 Vũ Quốc C Nguyễn Văn Cừ 192 Lê Nguyễn U Phan Xích Long 218 Quách P Trần Phú 222 Trần Đăng O Trần Phú 305 Phan Quỳnh L Xô Viết Nghệ Tĩnh Cấu trúc dữ liệu và giải thuật – HCMUS 2010 1234 Đặng Thị G Nhận xét 78  Về cơ bản, chỉ mục dày đặc cho kết quả tìm  kiếm nhanh hơn chỉ mục thưa  Chỉ mục thưa sử dụng ít khơng gian lưu trữ  ­>Kết hợp giữa chỉ mục dày và chỉ mục thưa: chỉ  mục nhiều tầng Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Chỉ mục nhiều tầng 79  Vấn đề:  Ngay sử dụng mục thưa, tập tin mục có kích thước lớn  Giả  sử: liệu có 100.000 ghi  Đánh mục thưa cho khối 10 ghi ⇒ Tổng cộng có 10.000 phần tử mục Nếu kích thước mục khơng nằm thể nằm trọn nhớ => tốn chi phí cho việc đọc tập tin (Khoảng 14 lần cho liệu 10.000 C ấu trúc dữ li ệu và gi ải thudữ ật – HCMUS 2010 phần tử mục) Chỉ mục nhiều tầng 80  Mục tiêu:   Giảm thiểu số lần truy cập nhớ phụ Giải pháp:  Tạo mục cho liệu (lưu nhớ phụ)  Tạo mục thưa mục vừa tạo  Chỉ mục thưa lưu trữ nhớ  Nếu kích thước mục thưa lớn tạo thêm mục thưa Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Chỉ mục nhiều tầng 81 Chỉ mục thưa tầng 1 Chỉ mục thưa tầng 2 Cấu trúc dữ liệu và giải thuật – HCMUS 2010 Chỉ mục chính ... 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? ?dữ liệu? ?và? ?giải? ?thuật – HCMUS 2010 Thêm phần tử 16 10 14 11 25 20 13 33 28 Thêm vào giá trị 13 Cấu? ?trúc? ?dữ liệu? ?và? ?giải? ?thuật – HCMUS 2010... Mượn khóa Cấu? ?trúc? ?dữ liệu? ?và? ?giải? ?thuật – HCMUS 2010 Xóa phần tử - Ví dụ 49  Cho B­cây bậc 5: 12 31 15 29 43 56 69 Cấu? ?trúc? ?dữ liệu? ?và? ?giải? ?thuật – HCMUS 2010 Xóa phần tử - Ví dụ 50  Thêm vào các khóa sau trên B­cây bậc 5 đã tạo ... Xóa khóa 2 Cấu? ?trúc? ?dữ liệu? ?và? ?giải? ?thuật – HCMUS 2010 56 69 72 Xóa phần tử - Ví dụ 40  Cho B­cây bậc 5: 12 29 52 15 22 31 43 Cấu? ?trúc? ?dữ liệu? ?và? ?giải? ?thuật – HCMUS 2010 56 69 72 Xóa phần tử - Ví

Ngày đăng: 11/09/2021, 13:41

Mục lục

    Nội dung trình bày

    Cây tìm kiếm m-nhánh

    Thao tác trên cây

    Thao tác trên cây

    Thêm phần tử - Ví dụ

    Thêm phần tử - Ví dụ

    Thêm phần tử - Ví dụ

    Thêm phần tử - Ví dụ

    Thêm phần tử - Ví dụ

    Thêm phần tử - Ví dụ

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

Tài liệu liên quan