1. Trang chủ
  2. » Công Nghệ Thông Tin

CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNG

16 216 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 407,73 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Định nghĩaCây nhị phân tìm kỉếm cân bằng ỉà cây mà tạì mỗỉ nút của nó độ cao của cây con trái và của cây con phảỉ chênh ỉệch không quá môt 44... Các thao tác trên cây cân bằng^ K h i th

Trang 1

NÖI DUNG■

CÄY NHj PHÄN TIM KIEM CÄN BANG I

Trang 2

Định nghĩa

Cây nhị phân tìm kỉếm cân bằng ỉà cây mà tạì mỗỉ nút của nó độ cao của cây con trái và của cây con phảỉ chênh ỉệch không quá môt

44

Trang 3

Tổ chức dữ liệu

Chỉ số cân bằng = độ lệch giữa cây trái và cây phải của một nút

Các giá trị hỢp lệ :

- CSCB(p) = 0 « ĐỘ cao cây trái (p) = ĐỘ cao cây phải (p)

- CSCB(p) = 1 ĐỘ cao cây trái (p) < ĐỘ cao cây phải (p)

- CSCB(p) = -1 <^> ĐỘ cao cây trái (p) > ĐỘ cao cây phải (p)

Trang 4

TỔ chức dữ liệu(tt)

typedef struct tagAVLNode {

char balFactor; //chỉ sô cản bằng

Data key;

struct tagAVLNode* pLeft;

struct tagAVLNode* pRight;

}AVLNode;

typedef AVLNode*AVLT ree;

Trang 6

cấu trúc dữ liệu và thuật giải

C 2 O rH

ç

0

3

CQ _ □

■ ©>■ 0

ç -G

r* Qj

0

G

1

□ (G

Q o

Trang 7

uac iru o n g nọp m ai can oang ao

lệch phải

Trang 8

Các thao tác trên cây cân bằng

^ K h i th ê m hay xoá 1 nút trên cây, cĩ thể làm cho cây mất tính cân bằng, khi ấy ta phải tiến hành cân bằng lại.

Cây có khả năng mất cân bằng khi thay đổi chiều cao:

- Lệch nhánh trái, thêm bên trái■ '

- Lệch nhánh phải, thêm bên phải

- Lệch nhánh trái, hủy bên phải

- Lệch nhánh phải, hủy bên trái

Cân bằng lại cây : tìm cách bố trí lại cây sao cho chiều cao 2 cây con cân đối:

- Kéo nhánh cao bù cho nhánh thấp

- Phải bảo đảm cây vẫn là Nhị phân tìm kiếm

Trang 9

Các trường hợp mất cân bằng do lệch trái

1.1 Cây T lệch trái, cây trái TI của T cũng lệch trái

Trang 10

Các trường hợp mất cân bằng do lệch trái

1 2 Cây T lệch trái, cây trái TI của T không lệch

Trang 11

Các trường hợp mất cân bằng do lệch trái

1 3 Cây T lệch trái, cây trái TI của T lệch phải

Trang 12

Các trường hợp mất cân bằng do lệch phải

1.1 Cây T lệch phải, cây phải TI của T cũng lệch phải

Trang 13

Các trường hợp mất cân bằng do lệch phải

1 2 Cây T lệch phải, cây phải TI của T không lệch

Trang 14

uac truong nọp m ai can oang ao

lệch phải

' H L V T » ! ' ■ [ H i I - i n ■ ■ I l I I • I M n > ! ’■ « I I I « T l o r h ÉẩV/ỉ

Trang 15

Thêm 1 nút

Thêm bình thường như trường hỢp cây

NPTK

Nếu cây tăng trưởng chiếu cao:

- Lần ngược về gốc để phát hiện nút bị mất cân bằng

- Tiến hành cân bằng lại nút đó bằng thao tác cân bằng thích hỢp

Việc cân bằng lai chỉ cẩn thưc hiên 1 lẩn■ o ■ ■ ■

tại nơi mất cân bằng

Trang 16

Hủy 1 nút

• Hủy bình thường như trường hợp cây NPTK

• Nếu cây giảm chiều cao:

- Lần ngược về gốc để phát hiện nút bị mất cân bằng

- Tiến hành cân bằng lại nút đó bằng thao tác cân bằng thích hợp

-T iế p tục lần ngược lên nút cha

• Việc cân bằng lại co thể lan truyền lên tận gốc

Ngày đăng: 26/02/2019, 13:14

TỪ KHÓA LIÊN QUAN

w