Ch−ơng 3 Cõy đỏ đen
3.5. Cây cân bằng chiỊu cao (Height balanced tree)
3.5.7. Cài đặt cõy AVL trờn bộ nhớ ngoà
Có thĨ sư đỉi ch−ơng trỡnh trờn đõy thành chơng trỡnh cài đặt cõy AVL trờn bộ nhớ ngoà Ch−ơng trỡnh 32CAYAVF.CPP trong phần phụ lục là ch−ơng trỡnh cài đặt cõy AVL trờn bộ nhớ ngồị Có một vài hàm đợc thờm và Phần lớn cỏc hàm khỏc đều t−ơng tự nh− tr−ờng hỵp cõy AVL cài đặt trong bộ nhớ, vỡ vậy chỳng tụi khụng giới thiệu chi tiết ở đõ
Ch−ơng 4 B - cõy và bộ nhớ ngoài
4.1. Mở đầu
Trong ch−ơng 3 chỳng ta đà nghiờn cứu cõy nhị phõn đỏ đen. Với cõy cú bậc n > 2 ta có thể biến đổi thành cõy nhị phõn. Tuy nhiờn cỏch làm này chỉ cú ý nghĩa lý thuyết, cõy tạo thành theo kiểu này khụng cú ý nghĩa lắm trong thực hành. Tỡm kiếm là một trong những thao tỏc thờng xuyờn dựng đến trong xử lý số liệ Chỳng ta đà thấy cõy cõn bằng AVL là cấu trỳc tốt cho thao tỏc tỡm kiếm. Tuy nhiờn cỏc thao tỏc thờm vào và xúa nỳt trờn cõy AVL khỏ phức tạp do ta thờng phải thực hiện cỏc thao tỏc cõn bằng lại cõy sau mỗi lần xúa hoặc thờm nỳt. Năm 1970 R. Bayer và McCreight đà đ−a ra một cấu trỳc cõy nhiều nhỏnh với ý t−ởng là mỗi nỳt trờn cõy cú thể chứa một số l−ỵng lớn khóa sao cho mỗi nỳt cú hệ số nhỏnh lớn. Trong thực hành mỗi nỳt sẽ là một trang thụng tin trờn đĩa, và nh− vậy số lần truy xuất đĩa sẽ giảm đi đỏng kể. Cõy do Bayer đỊ xt đ−ỵc gọi là B - cõ Trong chơng này chỳng ta sẽ ngiờn cứu cỏch cài đặt B-cõy và ứng dụng.
4.2. B - cõy
4.2.1. Cõy tỡm kiếm nhiỊu nhánh (Multiway Search Tree)
Cõy tỡm kiếm bậc n là tổng quỏt húa của cõy tỡm kiếm nhị phõn. Đặc điểm của cõy này là tại mỗi nỳt trờn cõy cú nhiều khúa và nhiều nhỏnh cõy con, số khúa ớt hơn số nhỏnh cõy con là 1. Điều kiện về cỏc khúa và nhỏnh cõy con nh− sau:
- Nếu đỉnh a có r-1 khóa k0, k1,..., kr-2 (r<=n), cỏc khúa phải đợc sắp thứ tự k0<k1<...<kr-2 và đỉnh cú tối đa là r con. Cỏc nhỏnh con s0, s1,..., sr-2 , sr-1 hoặc là rỗng, hoặc phải thoả mãn điỊu kiƯn sau: các khóa trong nhánh s0 phải nhỏ hơn hay bằng khóa k0, các khóa trong nhánh si phải lớn hơn hay bằng khúa ki-1 và nhỏ hơn hay bằng khúa ki, i =1,2,...,r-2, các khóa trong nhánh sr-1 phải lớn hơn hay bằng khúa kr-2. Hình 5.1 sau mụ tả nhỏnh cõy cú r-2 khúa:
Hình 4.1 Cõy tỡm kiếm bậc 3.
Theo định nghĩa trờn đõy ta cú thể thấy rằng cõy nhị phõn tỡm kiếm chớnh là cõy nhiều nhỏnh tìm kiếm bậc 2. 20 40 5 10 30 45 55 65 70 2 4 15 25 35 42 47 49 52 60 63 68 75 95 80 85 50
http://www.ebook.edụvn