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ớ ngoà 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