[r]
(1)CHƯƠNG 1: CÂY (TREE)
GV Ngô Công Thắng
Bộ môn Công nghệ phần mềm Khoa Công nghệ thông tin Website: dse.hua.edu.vn/ncthang
Email: ncthang@vnua.edu.vn
Chương 1: Cây (Tree)
1 Định nghĩa khái niệm 2 Cây nhị phân
(2)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
1 Định nghĩa khái niệm
1.1 Định nghĩa (tree)
l Cây một tập hợp hữu hạn nút,
đó có một nút đặc biệt gọi gốc (root)
Giữa nút có một quan hệ phân cấp gọi là quan hệ cha con.
l Một khơng có nút gọi rỗng (null tree).
l Các ví dụ về cây
1.3
Ví dụ 1: Mục lục của một chương
được biểu diễn dạng cây Chương 6
6.1 6.2
(3)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
Ví dụ 2: Biểu thức số học được biểu diễn dạng cây
x+y*(z-t)+u/v
1.5
Ví dụ 3: Các tập bao được biểu diễn dạng cây
(4)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
1.2 Các khái niệm
l Gốc (Root): Gốc nút đặc biệt khơng có nút cha.
Ví dụ 3: A gốc A cha của B, E, F. B, E, F của A.
B, E, F cũng gốc của của A
l Cấp (Degree): Số của một nút gọi cấp của nút đó.
Ví dụ 3: A có cấp E, F có cấp 0. B có cấp 2.
1.7
1.2 Các khái niệm (tiếp)
l Lá (Leaf): Nút có cấp bằng không gọi hay nút tận cùng.
Ví dụ 3: C,D,E,F lá.
(5)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
1.2 Các khái niệm (tiếp)
l Chiều cao của (Height) hay chiều sâu của cây (Depth): Là số mức lớn nhất của nút có cây.
Ví dụ 1: Cây có chiều cao 3 Ví dụ 2: Cây có chiều cao 5 Ví dụ 3: Cây có chiều cao 3
l Đường đi (Path): Nếu n1, n2, , nk là dãy nút mà ni là cha của ni+1 (1≤i<k) dãy đó gọi
đường đi từ n1 đến nk Độ dài của đường đi bằng số nút trừ đi .
Ví dụ 3: Đường đi từ A đến C cố độ dài 3-1=2.
Đường đi từ A đến E cố độ dài 2-1=1.
1.9
1.2 Các khái niệm (tiếp)
l Nếu thứ tự của một nút được coi trọng đang xét có thứ tự, ngược lại là khơng có thứ tự.
l Thường thứ tự của một nút
(6)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
1.2 Các khái niệm (tiếp)
l Đối với cây, quan hệ cha con, người ta mở rộng phỏng theo quan hệ gia tộc.
l Rừng (Forest): Nếu có một tập hữu hạn các phân biệt ta gọi tập đó rừng.
l Nếu bỏ nút gốc của một ta sẽ có một rừng
1.11
2 Cây nhị phân
2.1 Định nghĩa tính chất 2.1.1 Định nghĩa nhị phân
(7)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
Ví dụ 1: Hai sau đây khác nhau
1.13
Ví dụ 2: Cây nhị phân suy biến có dạng một danh sách tuyến tính Cây lệch trái
(8)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
Ví dụ 2: Cây nhị phân suy biến có dạng một danh sách tuyến tính (tiếp)
Cây zíc zắc
1.15
2.1.1 Định nghĩa nhị phân (tiếp)
(9)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
2.1.1 Định nghĩa nhị phân (tiếp)
l Cây nhị phân đầy đủ: Là nhị phân mà nút ở mọi mức của nút nhánh đều có hai con. Cây nhị phân đầy đủ trường hợp đặc biệt của cây nhị phân hoàn chỉnh.
1.17
2.1.2 Tính chất
l Số lượng tối đa nút ở mức i nhị phân 2(i-1) (i≥1).
(10)Ngô Công Thắng Bài giảng Cấu trúc liệu giải thuật - Chương 01
2.2 Lưu trữ nhị phân
2.2.1 Lưu trữ kế tiếp
l Với nhị phân đầy đủ, ta đánh số nút từ trở đi, từ trái qua phải, hết mức này đến mức khác.
l Dùng véc tơ V lưu trữ nhị phân, nút thứ i của được lưu trữ ở ô nhớ V[i] Ví dụ:
1.19
2.2.1 Lưu trữ kế tiếp (tiếp)