CHƯƠNG 6 CÂY NHIỀU NHÁNH: B-TREE

10 0 0
CHƯƠNG 6 CÂY NHIỀU NHÁNH: B-TREE

Đang tải... (xem toàn văn)

Thông tin tài liệu

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Điện - Điện tử - Viễn thông Chương 6. Cây nhiều nhánh: B-Tree Tr n Minh Tháiầ Email: minhthaihuflit.edu.vn Website: www.minhthai.edu.vn 1 Nội dung 1. Khái niệm 2. Đặc điểm và cấu trúc 3. Chèn phần tử vào cây 4. Xóa phần tử khỏi cây 2 Cây nhiều nhánh: M-Phân Mỗi node có tối đa M node con Một cây M-Phân đầy đủ có chiều cao logMN Ví dụ cây 5-Phân đầy đủ: 3 Khái niệm Thứ tự các khóa tương tự cây nhị phân tìm kiếm Mỗi node có M-1 khóa M càng lớn cây càng thấp Giữ tính chất cân bằng trên cây tìm kiếm M-Phân: B-Cây 4 B-Tree B-Tree bậc M là cây M-Phân tìm kiếm có các tính chất: Mỗi node (ngoại trừ gốc) có ít nhất M2 node con Node gốc (nếu không phải nút lá) có ít nhất 2 nút con Mọi nút lá đều nằm cùng một mức Các khóa và cây con được sắp xếp theo cây tìm kiếm 5 B-Tree Hạn chế số thao tác đọc mỗi lần tìm kiếm trên cây Thích hợp cho việc tìm kiếm trên bộ nhớ ngoài Chiều cao cây = logMN, tăng M chiều cao cây giảm rất nhanh 6 Chèn node vào cây Ý tưởng...

Chương 6 Cây nhiều nhánh: B-Tree Trần Minh Thái Email: minhthai@huflit.edu.vn Website: www.minhthai.edu.vn 1 Nội dung 1 Khái niệm 2 Đặc điểm và cấu trúc 3 Chèn phần tử vào cây 4 Xóa phần tử khỏi cây 2 Cây nhiều nhánh: M-Phân • Mỗi node có tối đa M node con • Một cây M-Phân đầy đủ có chiều cao logMN • Ví dụ cây 5-Phân đầy đủ: 3 Khái niệm • Thứ tự các khóa tương tự cây nhị phân tìm kiếm • Mỗi node có M-1 khóa • M càng lớn cây càng thấp • Giữ tính chất cân bằng trên cây tìm kiếm M-Phân: B-Cây 4 B-Tree B-Tree bậc M là cây M-Phân tìm kiếm có các tính chất: • Mỗi node (ngoại trừ gốc) có ít nhất M/2 node con • Node gốc (nếu không phải nút lá) có ít nhất 2 nút con • Mọi nút lá đều nằm cùng một mức • Các khóa và cây con được sắp xếp theo cây tìm kiếm 5 B-Tree • Hạn chế số thao tác đọc mỗi lần tìm kiếm trên cây • Thích hợp cho việc tìm kiếm trên bộ nhớ ngoài • Chiều cao cây = logMN, tăng M chiều cao cây giảm rất nhanh 6 Chèn node vào cây Ý tưởng: Tìm vị trí khóa có thể thêm vào cây Việc tìm kiếm sẽ kết thúc tại một lá Khóa mới sẽ được thêm vào nút lá: 1 Nếu chưa đầy  Việc thêm hoàn tất 2 Nếu đầy  Phân đôi nút lá cần thêm: • Tách nút lá ra làm hai nút cạnh nhau trong cùng một mức • Chuyển phần tử giữa lên nút cha Quá trình phân đôi các nút có thể được lan truyền ngược về gốc và kết thúc khi có một nút cha nào đó cần được thêm một khóa từ dưới lên 7mà chưa đầy Ví dụ • Cho B-tree bậc 5 rỗng • Hãy xây dựng B-Tree theo thứ tự từ trái sang phải cho dãy số sau: 1 1 8 2 2 5 1 2 1 7 5 1 4 6 3 2 2 5 5 45 2 5 487 2688 6935 8 1 1 8 2 2 5 1 2 1 7 5 1 4 6 3 2 2 5 5 45 2 5 487 2688 6935 Chèn 1 1 Chèn 12 1 12 Chèn 8 1 8 12 Chèn 2 1 2 8 12 9 1 1 8 2 2 5 1 2 1 7 5 1 4 6 3 2 2 5 5 45 2 5 487 2688 6935 Do nút gốc đã đầy (4 phần tử)  Chèn 25 vào nút gốc sẽ tách nút gốc thành 2 nút và đưa khóa ở giữa lên trên tạo thành nút gốc mới 1 2 8 12 25 8 1 2 12 25 10

Ngày đăng: 13/03/2024, 00:59

Từ khóa liên quan

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

Tài liệu liên quan