Cấu trúc cây quản lí đoạn

Một phần của tài liệu (LUẬN văn THẠC sĩ) cây quản lí đoạn và ứng dụng (Trang 30 - 31)

Cấu trúc nút của cây quản lí đoạn có thể được biểu diễn bằng một bản ghi gồm các trường, cụ thể như sau:

Type

Pnode = ^node; Node = record

S, f: real; rightmost: real; left, right: pnode; end;

var root : pnode; Trong đó:

s, f lần lượt là giá trị đầu mút trái và đầu mút phải của đoạn [s, f],

left: chứa liên kết (con trỏ) tới nút con trái, tức là chứa một thông tin

đủ để biết nút con trái của nút đang xét là nút nào. Nếu nút đang xét không có nút con trái, trường này được gán một giá trị đặc biệt (nil).

right: chứa liên kết (con trỏ) tới nút con phải, tức là chứa một thông

xét không có nút con phải, trường này được gán một giá trị đặc biệt (nil).

rightmost: giá trị lớn nhất của các đầu mút phải của các đoạn nằm

trong nhánh cây con có gốc là nút đang xét. Trường rightmost của mỗi nút p^ được tính theo công thức truy hồi:

^ . ^ . ^ . max ^ . ^ . ^ . p left rightmost p rightmost p f p right rightmost      

Khi một nút p^ được chèn vào thành một nút lá hay bị xóa khỏi cây quản lí đoạn, tất cả các trường rightmost trong p^ và các nút tiền bối của p^ phải

được cập nhật lại.

Cũng giống như cây nhị phân tìm kiếm, đối với cây quản lí đoạn, ta chỉ cần phải quan tâm giữ lại nút gốc root, bởi từ nút gốc đi theo các hướng liên kết left, right ta có thể duyệt mọi nút khác trên cây [4].

Một phần của tài liệu (LUẬN văn THẠC sĩ) cây quản lí đoạn và ứng dụng (Trang 30 - 31)

Tải bản đầy đủ (PDF)

(65 trang)