Tải bản đầy đủ (.pdf) (7 trang)

a0003 advanced data structur morebook vn 8017

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (145.89 KB, 7 trang )

Data Structures & Algorithms

Các cấu trúc dữ liệu nâng cao
(Advanced data structures)
Nguyễn Tri Tuấn
Khoa CNTT – ĐH.KHTN.Tp.HCM
Email: nttuan@ fit.hcmuns.edu.vn

Advanced data structures
Review
Giới thiệu
Cây Đỏ – Đen (Red Black Tree)

AA – Tree

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

2

1


Review
ªĐộ cao của cây nhị phân tìm kiếm (BST) cân
bằng có N nodes là O(log2N)
ªCây cân bằng có chi phí thấp
ªCó nhiều cách xây dựng cây nhị phân tìm kiếm
cân bằng:
AVL tree


Red-Black tree
AA tree
Splay tree
Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

3

Giới thiệu
ªCác thuật ngữ thường dùng:
BST
AVL tree
Red Black tree
AA tree
Splay tree / Top-down splay tree
Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

4

2


Advanced data structures
Review
Giới thiệu
Cây Đỏ – Đen (Red Black Tree)


AA – Tree

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

5

Red Black Tree
ªĐịnh nghĩa
ªCấu trúc lưu trữ
ªCác tính chất
ªCác thao tác cơ bản
ªĐánh giá

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

6

3


Red Black Tree (tt)
ªĐịnh nghĩa: Red-Black tree là một cây nhị phân
tìm kiếm (BST) tuân thủ các quy tắc sau:
[1] Mọi node phải là đỏ hoặc đen
[2] Node gốc là đen
[3] Các node ngoài (external node; NULL node) mặc

định là những node đen
[4] Nếu một node là đỏ, những node con của nó phải
là đen
[5] Mọi đường dẫn từ gốc đến node ngồi phải có
cùng số lượng node đen

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

7

Red Black Tree (tt)
H=4
H=3

Hb = 2
H=3

Hb = 2

Hb = 2
H=2

H=1

Hb = 1

Hb = 1


H=2
Hb = 1
H=1
Hb = 1

Minh họa Red-Black tree
Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

8

4


Red Black Tree (tt)
ªChiều cao đen (black height – hb(x)): là số node
đen trên đường đi từ node x đến node ngồi
(khơng bao gồm x)
ªTừ quy tắc [4] àkhơng thể tồn tại node cha và
node con cùng đỏ. Khi cây đỏ đen vi phạm qui
tắc này gọi là hiện tượng xung đột đỏ-đỏ

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

9

Red Black Tree (tt)

ªCấu trúc lưu trữ:
Thông tin lưu trữ tại Node (key)
Địa chỉ node gốc của cây con bên trái (* pLeft)
Địa chỉ node gốc của cây con bên phải (* pRight)
Địa chỉ của node cha (* pParent)
Thuộc tính màu của node (color)

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

10

5


AA – Tree (tt)
ªCác thao tác cơ bản: (tt)
Xóa một node:
6

10

4

2

3

8


5

7

12

9

11

13

Sau khi Split tại “8” à STOP !
Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

63

AA – Tree (tt)
ªĐánh giá:
Độ phức tạp O(log2N)
Khơng cần lưu con trỏ đến node cha (pParent)
Cài đặt đơn giản hơn cây Red-Black

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM


64

32


Thank you
for your attention

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

65

Q&A

Autumn 2008

Data Structures & Algorithms - Advanced data structures - Nguyen Tri Tuan, DH.KHTN Tp.HCM

66

33



×