Vi ệc phân cấp cấu trúc dữ liệu được dùng cho minh họa lược đồ công việc.. T ổ chức của một đơn vị.[r]
(1)Giảng viên: TS Ngo Huu Phuc Tel: 0438 326 077 Mob: 098 5696 580
Email:
Cấu trúc liệu giải thuật
(2)Nội dung học:
17.1 Khái niệm cây.
17.2 Các phương pháp duyệt cây.
Tham khảo:
1 Deshpande Kakde: C and Data structures.chm, Chapter 21: Trees
2 Elliz Horowitz – Fundamentals of Data Structures.chm, Chapter 5: Trees Kyle Loudon: Mastering Algorithms with C.chm, Chapter Trees
(3)17.1 Khái niệm (1/) 17.1.1 Giới thiệu.
Trees dùng cho cấu trúc liệu dạng phân cấp Ví dụ:
Việc phân cấp cấu trúc liệu dùng cho minh họa lược đồ công việc
Tổ chức đơn vị
Cây biểu thức
Khoa Công nghệ thông tin BM KHMT
ụ cây: Tổ chức Khoa CNTT
BM HTTT BM ANM BM CNPM BM Toán TTMT
(4)Cây định nghĩa đệ quy sau:
Một định nghĩa tập node T có dạng:
Có node đặc biệt gọi root
(5)17.1 Khái niệm (3/)
Hình minh họa
Tập hợp node {A, B, C, D, G, H, I, E, F}
A root
Các node lại chia thành tập {B, G, H, I}, {C, E, F} {D} Mỗi tập lại tạo thành
A
B C D
(6) Minh họa không phải
Mặc dù:
Tập hợp node {A, B, C, D, G, H, I, E, F}
A root
Node E thuộc tập hợp
B C D
(7)17.1 Khái niệm (5/)
• Bậc node: là số node node
• Bậc cây: là bậc lớn node • Node gốc: node khơng có node cha
• Node lá: node có bậc
• Node nhánh: node có bậc khác khơng phải node gốc • Mức node:
Gọi mức node root (cây T0)
Gọi T1, T2, T3, , Tn T0
Mức T1 = Mức T2 = = Mức Tn = Mức T0 + 1=2 • Chiều cao hay độ sâu cây: là mức cao lớn
(8) Gốc.
Cạnh (cung). Node.
Lá. A
B C D
G H I E F
Gốc (root)
Cạnh (edge, arc) node
(9)17.1 Khái niệm (7/)
Một số ví dụ sử dụng cây: Cây phả hệ
Cây định
Sử dụng để tạo queue có độ ưu tiên
(10) Có thể xây dựng danh sách liên kết, nhiên mỗi thành phần có nhiều trỏ (nhiều con).
• Mỗi node chứa thơng tin node. • Sử dụng mảng để lưu con.
Ví dụ khai báo cây:
struct node {
TreeEntry data;