Cõy đỏ đen (Red-black tree)

Một phần của tài liệu Tài liệu hỗ trợ môn cấu trúc dữ liệu 2 (Trang 52 - 53)

Ch−ơng 3 Cõy đỏ đen

3.4.Cõy đỏ đen (Red-black tree)

3.4.1. Định nghĩa

Ta cú thể chuyển một cõy 2-3-4 thành một cõy nhị phõn bằng cỏch biến đổi nh− sau: - Đối với nút có 2 con thỡ giữ nguyờn.

- Với nút có 3 con ta chun nh− sau: 1 2 2 1 Đen Đỏ 2 1 Đen Đỏ Hoặ c

http://www.ebook.edụvn

Cấu trúc dữ liƯu2 – Ch−ơng 3. Cõy đỏ đen

53 - Với nút có 4 con ta chun nh− sau:

Hỡnh 3.9. Chuyển đổi cõy 2-3-4 sang cõy đỏ đen Từ định nghĩa cõy 2-3-4 ta suy ra định nghĩa cõy đỏ đen nh− sau:

Cõy đỏ đen là một cõy nhị phõn tỡm kiếm (BST = Binary Search Tree) thỏa mÃn cỏc điều kiện sau:

- Các nút là đỏ hoặc đen.

- Cỏc nỳt lỏ rỗng đỵc quy ớc là đen.

- Khụng cú 2 nỳt đỏ kề nhau (nh− vậy nếu nỳt cha là đỏ thỡ cỏc nỳt con phải là đen. - Số l−ợng nỳt đen trờn mọi đ−ờng dẫn từ gốc đến lỏ phải bằng nha

3.4.2. Sự t−ơng đơng giữa cõy đỏ đen và cõy 2-3-4

Nh− ta đà thấy, từ một cõy 2-3-4 ta cú thể xõy dựng cõy đỏ đen t−ơng ứng. Ng−ỵc lại từ một cõy đỏ đen ta cũng cú thể tạo ra cõy 2-3-4 t−ơng đ−ơng với nú. Cỏc thao tỏc tỡm kiếm, thờm nỳt, xúa nỳt trờn cõy 2-3-4 đ−ợc thực hiện khỏ dễ dàng và trực quan. Ta có thĨ chun các thao tác này thành cỏc thao tỏc đổi màu một nỳt và xoay cõy trờn cõy đỏ đen. Cỏc thao tỏc này khú cài đặt hơn cỏc thao tỏc trờn cõy 2-3-4. Vỡ cõy 2-3-4 là cõn bằng, do đú ta cũng suy ra rằng cõy đỏ đen là cõn bằng. Hơn nữa ta cú thể tớnh đợc giới hạn tối đa của chiều cao cõy đỏ đen cú n nút nh− sau:

Vỡ số nỳt đen từ gốc đến nỳt lỏ bất kỳ đều luụn bằng nhau, ngoài ra khụng cú hai nỳt đỏ kề nhau, do đó số nút đỏ trong đ−ờng đi từ gốc nhiều nhất là bằng số nút đen. Nh− vậy chúng ta có thĨ thấy rằng đờng đi dài nhất từ gốc đến nỳt lỏ khụng thể gấp quỏ 2 lần so với đờng đi ngắn nhất. Nh− vậy nếu cây có n nỳt thỡ chiều cao tối đa của cõy là 2log2(n+1). Cõy đỏ đen tơng đ−ơng với cây 2-3-4. Cây 2-3-4 nh− ta sẽ thấy, là một tr−ờng hợp riờng của B-cõy, do đú chỳng ta sẽ khụng nghiờn cứu cỏch cài đặt cõy đỏ đen tổng quỏt. Chỳng ta sẽ xem xột và cài đặt một tr−ờng hợp đặc biệt của cõy đỏ đen là cõy cõn bằng chiều ca Cõy này cõn bằng hơn cõy đỏ đen tổng quỏt, và cú chiều cao cõy xấp xỉ là log2n.

Một phần của tài liệu Tài liệu hỗ trợ môn cấu trúc dữ liệu 2 (Trang 52 - 53)