Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 133 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
133
Dung lượng
0,93 MB
Nội dung
Cấu trúccây (Tree)
2/4/14Nhập môn CTDL và thuật toán2
Nội dung
•
Giới thiệu khái niệm cấu trúc cây.
•
Cấu trúc dữ liệu cây nhị phân, cây nhị
phân tìm kiếm
•
Giới thiệu cấu trúc dữ liệu cây nhị phân
tìm kiếm cân bằng.
2/4/14Nhập môn CTDL và thuật toán3
Cây?
•
Định nghĩa 1: Cây là một tập hợp T các
phần tử (gọi là nút của cây) trong đó có 1
nút đặc biệt được gọi là gốc, các nút còn
lại được chia thành những tập rời nhau
T1, T2 , , Tn theo quan hệ phân cấp
trong đó Ti cũng là một cây.
Mỗi nút ở cấp i sẽ quản lý một số nút ở
cấp i+1. Quan hệ này người ta còn gọi là
quan hệ cha-con
2/4/14Nhập môn CTDL và thuật toán4
Cây?
•
Định nghĩa 2: Cây là tập hợp các phần tử
được tổ chức :
•
Hoặc là tập rỗng(cây rỗng)
•
Hoặc tập khác rỗng trong đó có một nút
gốc, các nút còn lại được phân thành
nhóm, trong đó mỗi nhóm là một cây (cây
con)
2/4/14Nhập mơn CTDL và thuật tốn5
Ví dụ
•
Sơ đồ tổ chức của một cơng ty
Cơng ty A
R&D Kinh doanh Tài vụ
Sản xuất
TV CD AmplierNội đòa Quốc tế
Châu âu Mỹ Các nước
2/4/14Nhập môn CTDL và thuật toán6
Cây thư mục
C:\
Documents and Settings Program Files My Music
Desktop Favorites Start Menu Microsoft OfficeAdobe
2/4/14Nhập môn CTDL và thuật toán7
2/4/14Nhập môn CTDL và thuật toán8
2/4/14Nhập môn CTDL và thuật toán9
Một số khái niệm cơ bản
•
Bậc của một nút : là số cây con của nút đó
•
Bậc của một cây : là bậc lớn nhất của các
nút trong cây. Cây có bậc n thì gọi là cây n-
phân.
•
Nút gốc : là nút không có nút cha.
•
Nút lá : là nút có bậc bằng 0 .
•
Nút trong : là nút có bậc khác 0 và không
phải là gốc .
2/4/14Nhập môn CTDL và thuật toán10
Owner
Jake
Manager Chef Brad
Carol
Waitress Waiter Cook Helper
Joyce Chris Max Len
Ví dụ
ROOT NODE
[...]... trữ các thơng tin sau: – Thơng tin lưu trữ tại nút – Địa chỉ nút gốc của cây con trái trong bộ nhớ – Địa chỉ nút gốc của cây con phải trong bộ nhớ Biểu diễn cây nhị phân T typedef struct TNODE { Data Key; // Data là kiểu dữ liệu ứng với thông tin lưu tại nút TNODE *pLeft, *pRight; }; typedef TNODE TREE root; *TREE; Binary tree a b d g c e h f i j k Duyệt cây nhị phân • Có 3 kiểu duyệt chính có thể áp . Cấu trúc cây (Tree)
2/4/14Nhập môn CTDL và thuật toán2
Nội dung
•
Giới thiệu khái niệm cấu trúc cây.
•
Cấu trúc dữ liệu cây nhị phân, cây nhị. trúc dữ liệu cây nhị phân, cây nhị
phân tìm kiếm
•
Giới thiệu cấu trúc dữ liệu cây nhị phân
tìm kiếm cân bằng.
2/4/14Nhập môn CTDL và thuật toán3
Cây?
•
Định