Bài giảng Cấu trúc dữ liệu và giải thuật: Cây - Phan Mạnh Hiển (2020)
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây - Phan Mạnh Hiển (2020)Cây(Trees)Nguyễn Mạnh Hiểnhiennm@tlu.edu.vnNội dung1. Cây2. Cây nhị phân1. CâyĐịnh nghĩa câyCây là một tập nút:• Nếu tập nút rỗng, đó là cây rỗng• Nếu tập nút không rỗng: − Có một nút root được gọi là nút gốc − Có k cây con T1, T2, …, Tk (k 0) sao cho nút gốc của mỗi cây con đó được nối với nút gốc root bằng một cạnh trực tiếp − root được gọi là nút cha, còn gốc của các cây con T1, T2, …, Tk được gọi là các nút con của rootVí dụ 1: Cấu trúc tổ chức của một công tyVí dụ 2: Cấu trúc hệ thống fileCác khái niệm về cây (1)• Xét một cây có N nút: − Có một nút gốc − Có N – 1 cạnh vì mỗi nút (trừ nút gốc) có một cạnh liên kết nó với nút chaCác khái niệm về cây (2)• Nút lá: nút không có con (B, C, H)• Nút anh em: các nút cùng cha (K, L, M)• Nút ông (E) và nút cháu (P, Q)Các khái niệm về cây (3)• Đường đi từ nút n1 đến nút nk là dãy nút n1, n2, …, nk trong đó ni là cha của ni+1 (1 i < k)• Chiều dài đường đi là số cạnh trên đường đi đó − Đường đi từ một nút tới chính nó có chiều dài bằng 0 Các khái niệm về cây (4)• Chiều sâu của nút ni là chiều dài đường đi từ nút gốc đến nút ni − Nút gốc có chiều sâu 0 − Chiều sâu của cây bằng chiều sâu của nút lá sâu nhất• Chiều cao của nút ni là chiều dài của đường đi dài nhất từ nút ni đến một nút lá − Nút lá có chiều cao 0 − Chiều cao của cây bằng chiều cao của nút gốc• Chiều cao của cây = chiều sâu của câyCác khái niệm về cây (5)• Nếu có đường đi từ nút n1 đến nút n2: − Nút n1 được gọi là tổ tiên của nút n2, và nút n2 được gọi là hậu duệ của nút n1 − Nếu n1 n2 thì ta có các khái niệm tổ tiên thực sự và hậu duệ thực sựCài đặt cây• Mỗi nút chứa: − phần tử − con trỏ tới nút con đầu tiên − con trỏ tới nút anh em kế tiếp struct TreeNode { T elem; TreeNode * firstChild; TreeNode * nextSibling; }Ví dụ Biểu diễn con đầu tiên/anh em kế tiếpDuyệt cây• Là cách thức đi qua tất cả các nút của cây sao cho mỗi nút chỉ được thăm (xử lý) đúng một lần• Có 2 cách duyệt chính: − Duyệt theo thứ tự trước − Duyệt theo thứ tự sauDuyệt cây theo thứ tự trướcXuất phát từ nút gốc:1. Thăm nút đang xét2. Duyệt các nút con của nút đang xét từ trái sang phải theo kiểu đệ quyDuyệt cây theo thứ tự trước root 1 root 1 (1) 2 3 4 2 3 4 (2) 5 6 7 8 5 6 7 8 root 1 root 1 2 3 4 2 3 4 (3) (4) 5 6 7 8 5 6 7 8Duyệt cây theo thứ tự trước root 1 root 1 (5) (6) 2 3 4 2 3 4 5 6 7 8 5 6 7 8 root 1 root 1 (7) 2 3 4 2 3 4 (8) 5 6 7 8 5 6 7 8Duyệt cây theo thứ tự sauXuất phát từ nút gốc:1. Duyệt các nút con của nút đang xét từ trái sang phải theo kiểu đệ quy2. Thăm nút đang xétDuyệt cây theo thứ tự sau root 1 root 1 (1) (2) 2 3 4 2 3 4 5 6 7 8 5 6 7 8 root 1 root 1 2 3 4 2 3 4 (3) (4) 5 6 7 8 5 6 7 8Duyệt cây theo thứ tự sau root 1 root 1(5) (6) 2 3 4 2 3 4 5 6 7 8 5 6 7 8 root 1 root 1(7) 2 3 4 2 3 4 (8) 5 6 7 8 5 6 7 8
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cấu trúc dữ liệu và giải thuật Cấu trúc dữ liệu và giải thuật Cấu trúc dữ liệu Cơ sở dữ liệu Cây dữ liệu Cây nhị phânGợi ý tài liệu liên quan:
-
62 trang 402 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 318 0 0 -
13 trang 296 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 294 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 290 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 258 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 248 0 0 -
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 187 0 0 -
8 trang 186 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 176 0 0 -
Bài giảng môn học Cơ sở dữ liệu - Chương 1: Tổng quan về cơ sở dữ liệu
27 trang 171 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 1 - Sở Bưu chính Viễn Thông TP Hà Nội
48 trang 171 1 0 -
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 trang 166 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 163 0 0 -
3 trang 162 3 0
-
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 7 - Nguyễn Khánh Phương
214 trang 160 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Trần Hạnh Nhi
123 trang 156 0 0 -
Báo cáo Thực tập chuyên môn Thiết kế cơ sở dữ liệu: Xây dựng Website studio
26 trang 155 0 0 -
Hướng dẫn tạo file ghost và bung ghost
12 trang 155 0 0