You are on page 1of 2

Bài 1:

I/Định nghĩa và đặc điểm của cây nhị phân tìm kiếm:
Cây nhị phân tìm kiếm(Binary Search Tree-viết tắt BST) là một dạng đặc biệt của cây nhị phân. Về cơ
bản nó có đủ các thành phần của cây nhị phân. Nhưng tất cả các Node của nó đều có chung một đặc
điểm sau:
-Cây con bên trái của một Node luôn luôn có giá trị nhỏ hơn hoặc bằng giá trị của Node cha phía trên
nó.
-Cây con bên phải của một Node luôn luôn có giá trị lớn hơn hoặc bằng giá trị của Node cha phía trên
nó.
II/Nhược điểm:
-Tốn thêm bộ nhớ để lưu trữ địa chỉ nút con trỏ trái, con phải.
Tất cả các thao tác Tìm kiếm, Thêm mới, Xóa trên CNPTK đều có độ phức tạp trung bình O(h), với h là
chiều cao của cây
-Trong trong trường hợp tốt nhất, CNPTK có n nút sẽ có độ cao h = log2(n). Chi phí tìm kiếm khi đó sẽ
tương đương tìm kiếm nhị phân trên mảng có thứ tự.
Tuy nhiên, trong trường hợp xấu nhất, cây có thể bị suy biến thành 1 DSLK. Lúc đó các thao tác trên sẽ
có độ phức tạp O(n). Vì vậy cần có cải tiến cấu trúc của CNPTK để đạt được chi phí cho các thao tác là
log2(n).
Bài 2:
3 5 2 20 11 30 9 18 4
Hình ảnh cây nhị phân tìm kiếm:

2 5

4 20

10 30
21

9 18

Thực hiện huỷ Node 5 bằng cách dùng Node 9 thay thế Node 5:

3 3

2 5 2 9

4 20 4 20

11 30 11 30

9 18 5 18
Sau khi thực hiện huỷ Node 5:

2 9

4 20

11 30

18

Thực hiện huỷ Node 20 bằng cách dùng Node 18 thay thế Node 20:

3 3

2 9 2 9

4 20 4 18
8

11 30 11 30

18 20
Thực hiện huỷ Node 20: 0

2 9

4 18
8

11 30

You might also like