TAILIEUCHUNG - Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên

Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen trình bày định nghĩa cây đỏ đen, cấu trúc dữ liệu cho nút cây đỏ đen, các phép biến đổi cây đỏ đen cân bằng, các tình huống xảy ra khi duyệt ngược,. . | Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên CẤU TRÚC DỮ LIỆU CÂY ĐỎ ĐEN Bùi Tiến Lên 01/01/2017 Cây đỏ đen Định nghĩa 1 Cây đỏ đen (red black tree) được Rudolf Bayer phát minh và là một cây nhị phân tìm kiếm có các đặc điểm sau 1. Mọi nút phải là nút đỏ hoặc nút đen 2. Nút gốc là nút đen 3. Nếu một nút là nút đỏ, thì con của nó phải nút đen 4. Tất cả các đường đi từ nút gốc đến nút-0 (không có con) hoặc nút-1 (có 1 con) phải có cùng số lượng nút đen (điều kiện cân bằng) Nhận xét Cây đỏ đen là cây tổng quát của cây AVL Spring 2017 Data structure & Algorithm 2 Cây đỏ đen (cont.) 13 8 17 1 11 15 25 6 22 27 Hình 1: Cây đỏ đen Spring 2017 Data structure & Algorithm 3 Cấu trúc dữ liệu cho nút cây đỏ đen Cấu trúc dữ liệu để lưu trữ cho nút cây đỏ đen 1 template 2 struct RBNode 3 { 4 T data; 5 int key; 6 NodeColor color; 7 RBNode *pLeft; 8 RBNode * pRight ; 9 RBNode * pParent ; 10 }; Spring 2017 Data structure & Algorithm 4 Tìm kiếm và duyệt I Vì cây đỏ đen là một cây nhị phân tìm kiếm, do đó tìm kiếm và duyệt cây trên cây đỏ đen tương tự như trên cây nhị phân tìm kiếm Spring 2017 Data structure & Algorithm 5 Các phép biến đổi cây đỏ đen cân bằng Có ba phép biển đổi dùng để điều chỉnh cho cây đỏ đen cân bằng I Thay đổi màu (change color ) I Thực hiện xoay trái (left rotation) I Thực hiện xoay phải (right rotation) Spring 2017 Data structure & Algorithm 6 Các phép biến đổi cây đỏ đen cân bằng (cont.) Thực hiện xoay trái giữa hai nút P và N ; trong đó, N là nút con .

TỪ KHÓA LIÊN QUAN
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.