Tiểu luận Phân tích và thiết kế thuật toán CÂY ĐỎ ĐEN Red-Black Trees

20 859 4
Tiểu luận Phân tích và thiết kế thuật toán CÂY ĐỎ ĐEN Red-Black Trees

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

 Nội dung: CÂY ĐỎ ĐEN (Red-Black Trees) CÁC THÀNH VIÊN NHÓM 3: • Đinh Như Du (Trưởng nhóm) • Trương Thị Mỹ Lê • Nguyễn Thị Liên • Lê Văn Trường TIỂU LUẬN MÔN HỌC THIẾT KẾ & PHÂN TÍCH THUẬT TOÁN Giảng viên hướng dẫn: TS. Hoàng Quang NỘI DUNG BÁO CÁO: Đặt vấn đề: Các thao tác trên cây nhị phân tìm kiếm có độ phức tạp là O(h). Trong trong hợp xấu nhất, khi cây không cân bằng (lệch trái hoặc lệch phải) thì độ phức tạp là O(n). Ví dụ: Các nút được chèn theo thứ tự tăng dần. ⇒ Một số biện pháp giữ cây cân bằng như: AVL Trees, B – Trees, Red - Black Trees. 13.1. Các tính chất của cây đỏ đen 1.Mọi nút là đỏ hoặc đen. 2. Nút gốc là đen. 3. Mọi nút lá (NIL) là đen. 4. Nếu một nút là đỏ, thì cả hai con của nó là đen. 5. Với một nút, mọi đường đi từ nút đó đến nút lá hậu duệ bất kỳ có cùng số lượng nút đen. a. Định nghĩa: Một cây nhị phân tìm kiếm (BST) là cây đỏ đen nếu nó thỏa mãn các tính chất đỏ đen:   Ví dụ: 3 26 3 2 17 41 2 2 2 14 21 30 1 47 1 1 2 10 16 19 1 23 28 1 1 38 NIL NIL 1 1 1 7 1 12 1 15 NIL NIL 20 NIL NIL NIL NIL 35 39 1 1 NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL 3 NIL NIL Các nút lá NIL có chiều cao đen=0 b. Chiều cao đen   !"#!$%!#&'!#(!"#)!!"* +!,- Sử dụng cờ hiệu nil[T] để biểu thị cho nút lá NIL và nút cha của gốc. 3 26 3 2 17 41 2 2 2 14 21 30 1 47 1 1 2 10 16 19 1 23 28 1 1 38 1 1 1 7 1 12 1 15 20 35 39 1 1 3 cờ hiệu nil(T). • Tính chất: h/2 ≤ bh(T), T: nút gốc • Cây con có gốc tại một nút x bất kỳ sẽ chứa ít nhất 2 bh(x) -1 nút trong. Bổ đề: Một cây đỏ đen với n nút trong có chiều h ≤ 2lg(n+1) Nhận xét - Hầu hết các thao tác như tìm kiếm, tìm nút có giá trị nhỏ nhất, nút có giá trị lớn nhất, tìm nút kế sau, và nút kế trước, phép chèn, xóa 1 nút thực hiện trên cây đỏ đen với thời gian thực hiện là O(h). (h: là chiều cao của cây) - h ≤ 2lg(n+1) ⇒ Vậy độ phức tạp các thuật toán nêu trên trên một cây đỏ đen với n nút là O(lg(n)). c. Khai báo: TRBNode = record key: byte; left, right, parent: TRBNodeP; color: String[5]; {Red, Black} end; Parent: Nút cha (cha của x thì ký hiệu p[x]). Root: Nút gốc. Color: Chứa giá trị màu của nút. d. Một số thao tác cơ bản trên cây đỏ đen: i) Thao tác tìm kiếm nút có giá trị khóa k: Function SEARCH ( T: TRBNodeP , k:bye): TRBNodeP; Begin if ( T= nil[T] ) or (k = T^.key) then SEARCH:= T else if k < T^.key then SEARCH:= SEARCH(T^. left, k) else SEARCH:= SEARCH(T^. right, k) End; Giải Giải thuật: thuật: Ví dụ, tìm khóa k=13 trong cây, có đường tìm kiếm: 15 6 7 13→ → → k=25Search=nil[T] [...]... Successor :=y; end; end; Nút kế sau của 13 là 15 Nút kế sau của 20 là nil 13.2 Phép quay Khi thực hiện các phép toán trên cây đỏ đen như Chèn/xóa 1 nút sẽ làm cho cây đỏ đen bị vi phạm một số tính chất  Để phục hồi các tính chất này, chúng ta có thể thực hiện các thao tác: - Thay đổi màu - Cơ cấu lại các liên kết của cây thông qua phép quay Phải giữ được các tính chất của cây đỏ đen! Các phép quay (ROTATIONS):... y; y^.right := x; x^.parent := y; 19 end; Phép chèn Bổ đề: Một cây đỏ đen với n nút trong có chiều cao h ≤ 2lg(n+1) Tính chất: h . dung: CÂY ĐỎ ĐEN (Red-Black Trees) CÁC THÀNH VIÊN NHÓM 3: • Đinh Như Du (Trưởng nhóm) • Trương Thị Mỹ Lê • Nguyễn Thị Liên • Lê Văn Trường TIỂU LUẬN MÔN HỌC THIẾT KẾ & PHÂN TÍCH THUẬT TOÁN Giảng. giữ cây cân bằng như: AVL Trees, B – Trees, Red - Black Trees. 13.1. Các tính chất của cây đỏ đen 1.Mọi nút là đỏ hoặc đen. 2. Nút gốc là đen. 3. Mọi nút lá (NIL) là đen. 4. Nếu một nút là đỏ, . tìm nút kế sau, và nút kế trước, phép chèn, xóa 1 nút thực hiện trên cây đỏ đen với thời gian thực hiện là O(h). (h: là chiều cao của cây) - h ≤ 2lg(n+1) ⇒ Vậy độ phức tạp các thuật toán nêu

Ngày đăng: 11/04/2015, 22:05

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan