B tree cây tìm kiếm nhiều đường

35 2.2K 12
B tree cây tìm kiếm nhiều đườ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 tree cây tìm kiếm nhiều đường

B-CÂY Chương Cây tìm kiếm nhiều đường  Cây tìm kiếm nhiều đường (Multiway Search Trees): – Cây tìm kiếm cấp m (m > 2) mở rộng nhị phân tìm kiếm BST, nút có tối đa m – Một ứng dụng tìm kiếm nhiều đường sử dụng để truy xuất nhớ theo nguyên tắc: “Số lần truy xuất tốt” – Để thực điều phần tử nhớ ngồi truy xuất tồn nhóm phần tử truy xuất theo Cây tìm kiếm nhiều đường – Điều nầy dẫn đến chia thành (gọi trang) phần tử trang truy xuất đồng thời  Ví dụ, nhị phân chia thành trang, trang có nút: Cây tìm kiếm nhiều đường  Giả sử trang có 100 nút có triệu phần tử trung bình cần lần truy xuất thay lần BST B-cây (Bayer tree)  Ta nhận thấy cân đòi hỏi phải cân lại trình bị biến đổi  Việc cân bao gồm nhiều thao tác phức tạp tốn thời gian  Một tiêu chuẩn R Bayer đưa năm 1970 trang (trừ trang gốc) chứa n nút nhiều 2*n nút, với n số cho trước gọi cấp B-cây  Cấu trúc liệu B-cây cấp n có đặc tính sau: B-cây – Mỗi trang có tối đa 2*n phần tử – Mỗi trang, ngoại trừ trang gốc chứa n phần tử Trang gốc phép chứa 1, 2, , 2*n phần tử – Mỗi trang trang (khơng có con) có m + trang con, với m số phần tử trang – Tất trang phải có mức – Mỗi phần tử trang có thứ tự theo khố tăng dần từ trái qua phải B-cây  Ví dụ: B-cây cấp có ba mức sau:  Tất trang chứa 2, 3, hay phần tử ngoại trừ trang gốc chứa phần tử  Tất trang xuất mức 37 B-cây  Nếu dồn B-cây lại thành mức cách chèn trang vào nút trang cha chúng giá trị theo thứ tự tăng dần  Đây mở rộng tự nhiên tìm kiếm nhị phân Cài đặt B-cây const int N = 2; // cấp B-cây const int NN = 4; // kích thước trang typedef struct Page* ref; struct Node { int key; // giá trị nút ref pR; // trỏ đến trang bên phải int count; // số lần xuất khóa // có giá trị key }; Cài đặt B-cây struct Page { int m; // số phần tử trang ref pL; // trỏ đến trang bên trái Node e[NN]; // nút (phtử) trang }; ref root; // trỏ đến trang gốc 10 .. .Cây tìm kiếm nhiều đường  Cây tìm kiếm nhiều đường (Multiway Search Trees): – Cây tìm kiếm cấp m (m > 2) mở rộng nhị phân tìm kiếm BST, nút có tối đa m – Một ứng dụng tìm kiếm nhiều đường. .. trung b? ?nh cần lần truy xuất thay lần BST B- cây (Bayer tree)  Ta nhận thấy cân đòi hỏi phải cân lại trình b? ?? biến đổi  Việc cân bao gồm nhiều thao tác phức tạp tốn thời gian  Một tiêu chuẩn R Bayer... xuất theo Cây tìm kiếm nhiều đường – Điều nầy dẫn đến chia thành (gọi trang) phần tử trang truy xuất đồng thời  Ví dụ, nhị phân chia thành trang, trang có nút: Cây tìm kiếm nhiều đường  Giả

Ngày đăng: 17/08/2012, 09:38

Từ khóa liên quan

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

Tài liệu liên quan