8/4/2020
40
2.2.4 Cài đặt bởi mảng
Ưu điểm:
Truy cập nhanh, ngẫu nhiên như nhau đối với mi phần tử
nhờ o chỉ số
Thao tác tìm kiếm dễ dàng
Nhược điểm
Kích thước mng trong mọi ngôn ngữ lập trình đều cố định
Hạn chế độ dài của danh sách, trong khi danh sách thường
xuyên thêm bớt không cố định độ dài
Việc thêm bớt khó khăn do phải dch chuyển nhiều phn tử
(thời gian chạy O(n))
Cấu trúc dữ liệu và giải thuật 79
Chương 3. Cây 80
CHƯƠNG 3: CÂY (9t)
3.1 ĐỊnh nghĩa và khái niệm cơ bản
3.2 Một số phép toán trên cây
3.3 Cài đặt cây
3.4 Cây nhị phân
3.5 Cây tìm kiếm nhị phân
3.6 Câyn bằng
8/4/2020
41
Chương 3. Cây 81
3.1 Định nghĩa và khái niệm cơ bản
3.1.1 Định nghĩa
3.1.2 c khái niệm cơ bản về cây
Chương 3. Cây 82
3.1.1 Định nghĩa
Cây: (Tree)
Cây T mt bộ <V, E>, trong
đó:
V: Tập hữu hạn các phần tử (nút)
E: Tập hữu hạn(cung) thể hin mi
quan hệ phân cấp quan hệ
cha con”.
hiệu: T=<V, E>
t gốc (root): nút không
phải con của bất cứ nút nào
Cây rỗng (null tree): cây
không nút o
8/4/2020
42
Chương 3. Cây 83
3.1.1 Định nghĩa
Các ví dụ về cấu trúc cây
Mục lục của một cuốn sách
Cấu trúc thư mục trên đĩa máy tính.
đồ nhân sự của tổ chức
Cây phhệ
Dùng cây để biểu diễn biểu thức số học, chẳng
hạn: ( a+b) x (c-d/e)
Chương 3. Cây 84
3.1.1 Định nghĩa
x
+
-
c/
ed
ba
8/4/2020
43
Chương 3. Cây 85
3.1.2 Các khái niệm cơ bản về cây
Số các con của một nút gọi cấp/bậc (degree) của nút
đó
Nút bậc bằng 0gọi nút (leaf)
Các nút không phải nút gọi nút nhánh ( branch)
Bậc cao nhất trong các nút của mt cây gọi bậc của y
đó.
Mức-Level: Gốc của y mức 1, nếu một t mức i
thì các nút con của nút đó mức i+1.
Chiều cao (height) của cây số mức lớn nhất của các nút
trên cây đó
Chương 3. Cây 86
3.1.2 Các khái niệm cơ bản về cây
Cây có thứ tự: là cây mà xét đến thứ tự giữa các con
của một t
Con trưởng/con cực trái của một nút: là con thứ nhất trong
quan hệ thứ tự giữa các nút cùng cha
Em liền kề của mt nút: là nút đứng ngay sau trong quan hthứ
tgiữa các nút cùng cha
Cây có nhãn: mỗi t của cây được gán một nhãn. Nhãn
có thể là kiểu số nguyên, kiểu ký tự hay một kiểu dữ liệu
khác khác tạp hơn
Rừng:Tập hợp hữu hạn các cây phân biệt gọi là một rừng
(forest).
8/4/2020
44
Chương 3. Cây 87
3.1.2 Các khái niệm cơ bản về cây
1
2
3
4
A
CB D
G H I
KJ
FE
Chương 3. Cây 88
3.2 Một số phép toán trên cây
Khởi tạo cây rỗng: void Initialize(TypeTree T);
Xác định t gốc: Ref Root(TypeTree T);
Xác định t cha của một t:
Ref Parent(TypeTree T, TypeNode V);
m con trưởng của một t
Ref EldestChild(TypeTree T, TypeNode V);
Xác định em liền kề của một t:
Ref NextSibling(TypeTree T,TypeNode V);
Duyệt cây: truy cập mọi t để thực hiện một xử nào
đó không sót, không lặp:
Void Traverse(TypeTree T);