Định nghĩa và khái niệm

Một phần của tài liệu Bài giảng Các kĩ thuật lập trình: Phần 2 (Trang 45)

LI R RL IR

5.1.Định nghĩa và khái niệm

CHƢƠNG 5 CÂY NHỊ PHÂN

5.1.Định nghĩa và khái niệm

Cây là một tập hợp hữu hạn các node có cùng chung một kiểu dữ liệu, trong đó có một node đặc biệt gọi là node gốc (root). Giữa các node có một quan hệ phân cấp gọi là “quan hệ cha con”. Có thể định nghĩa một cách đệ qui về cây nhƣ sau:

Một node là một cây. Node đó cũng là gốc (root) của cây ấy.

Nếu n là một node và T1, T2, . .., Tk là các cây với n1, n2, . . , nk lần lƣợt là gốc thì

một cây mới T sẽ đƣợc tạo lập bằng cách cho node n trở thành cha của các node n1,

n2, . . , nk hay node n trở thành gốc và T1, T2, . ., Tk là các cây con (subtree) của gốc.

Một cây đƣợc gọi là rỗng nếu nó không có bất kỳ một node nào. Số các node con của một node đƣợc gọi là cấp (degree) của node đó. Node có cấp bằng 0 đƣợc gọi là lá (leaf) hay node tận cùng (terminal node). Node không là lá đƣợc gọi là node trung gian hay node nhánh (branch node).

Cấp cao nhất của node trên cây gọi là cấp của cây. Gốc của cây có số mức là 1. Nếu node cha có số mức là i thì node con có số mức là i+1. Chiều cao (height) hay chiều sâu (depth) của một cây là số mức lớn nhất của node trên cây đó.

Đƣờng đi từ node n1 đến nk là dãy các node n1, n2, . ., nk sao cho ni là node cha của node ni+1 (1<=i<k), độ dài của đƣờng đi (path length) đƣợc tính bằng số các node trên đƣờng đi trừ đi 1 vì nó phải tính từ node bắt đầu và node kết thúc.

Một cây đƣợc gọi là có thứ tự nếu chúng ta xét đến thứ tự các cây con trong cây (ordered tree), ngƣợc lại là cây không có thứ tự (unordered tree). Thông thƣờng các cây con đƣợc tính theo thứ tự từ trái sang phải.

Một phần của tài liệu Bài giảng Các kĩ thuật lập trình: Phần 2 (Trang 45)