Bài giảng: Các giải thuật nâng cao Cây tìm kiếm nhị phân
Cây tìm kiếm nhị phân binary search tree
thêm một khoá vào cây TKNP
PowerPoint Presentation
Xóa một nút trên cây TKNP
Phân tích BST
Cây AVL
Thêm một nút vào cây AVL
Single Rotation-RR
Single rotation LL
Double rotation-LR
Double rotation-RL
Các định lý
Ví dụ thêm 1 khóa
Slide 15
AVL Trees Implementation in java
d-cây
Ví dụ: 3-cây
Cây 2-3-4 hoặc cây (2,4)
Thêm 1 phần tử vào cây (2,4) thêm 4,6,12,15,3,5,10,8
Xóa một phần tử trong cây (2,4)
Slide 22
Slide 23
Hiệu quả của cây (2,4)
Cây đỏ-đen red – black trees
Tương đương giữa cây đỏ đen và cây (2,4)
Slide 27
Các phép quay
Thêm một phần tử vào cây đỏ đen
double red: Tô màu lại Trường hợp 1: w là nút đen
Slide 31
Slide 32
Slide 33
Ví dụ: đưa các nút 4,7,12, 15, 3, 5, 14, 18, 16, 17 vào cây đỏ đen
Slide 35
Slide 36
Slide 37
Slide 38
Case 1
Case 2, 3
Định lý
Xóa một nút trên cây đỏ đen
Nếu v là nút đỏ (thì r đen) hoặc r đỏ (thì v đen) thay v bởi r, tô r đen và dừng
Slide 44
Trường hợp 1: nút y anh em của r là đen, nút y có một con màu đỏ (z). Gọi a,b,c là ba nút x,y,z theo thứ tự duyệt trung tự
Trường hợp 2: nút y anh em của r là đen, nút y có hai con đen.
Nếu x đen, tô màu lại thì x trở thành double black
Trường hợp 3: nút y anh em của r màu đỏ Adjustment: IF (y == right(x)) THEN z=right(y) ELSE z=left(y)
Định lý
Ví dụ
Slide 51
Slide 52
Slide 53
Slide 54