Bài giảng Cấu trúc dữ liệu và giải thuật: Cây nhị phân - TS. Trần Ngọc Việt
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 nhị phân - TS. Trần Ngọc Việt KHÁI NIỆM CƠ BẢN Cây là một cấu trúc phân tầng của các phần tử gọi là nút (node) • Mỗi node chứa một phần tử đơn. • Mỗi phần tử có thể có 1 hoặc nhiều nhánh kết nối với các nút khác, được gọi là nút con. Mọi cây có 1 nút gốc – root duy nhất. • Mọi nút trừ nút gốc đều là con của một nút khác – nút cha. 3 3 KHOA CÔNG NGHỆ THÔNG TIN CẤU TRÚC CÂY TRONG THỰC TẾ Thông thường các mô hình tổ chức sẽ có cấu trúc cây: • Một cây tổ chức là một cây không có thứ tự có cấu trúc phân tầng, như tổ chức của phòng ban trong thương mại. University Engineering Medicine Science Education Law Arts Chemistry Physics Maths Languages History 4 4 KHOA CÔNG NGHỆ THÔNG TIN CẤU TRÚC CÂY TRONG THỰC TẾ Sơ đồ phân loại sinh học cũng là một loại cây phổ biến. Cây này cũng không có thứ tự nhưng có tổ chức phân lớp. animals worms insects arachnids vertebrates stars sponges ants beetles flies fish reptites birds mammals snakes lizards crocodiles 5 KHOA CÔNG NGHỆ THÔNG TIN CẤU TRÚC CÂY TRONG THỰC TẾ Tổ chức file và các thư mục Chúng tả có thể mô hình hóa tổ chức các file bằng cách dùng cây không sắp xếp theo mô hình nút lá, và các thư mục như các nút cha. root doc bin lib etc tmp users cp grep sort mail motd passwd 6 KHOA CÔNG NGHỆ THÔNG TIN Thao tác trên cấu trúc cây Nó phải có thể truy cập vào nút gốc của cây truy cập tất cả các tổ tiên của một nút trong cây truy cập tất cả con cháu của một nút trong cây thêm một nút mới vào cây, xóa một nút nhất định khỏi cây Duyệt cây. 7 KHOA CÔNG NGHỆ THÔNG TIN Một số định nghĩa 8 KHOA CÔNG NGHỆ THÔNG TIN Một số định nghĩa Cây có thể được sắp xếp hoặc không được sắp xếp. Cây không có thứ tự, cây là cây ở hình dạng. Theo nghĩa cấu trúc, nó trông giống như một cái cây. Đối với bất kỳ nút nhất định nào, không có thứ tự nào được áp đặt cho các nút con của nút đó 9 KHOA CÔNG NGHỆ THÔNG TIN Một số định nghĩa Một cây có thứ tự áp đặt thứ tự trên các nút Có nhiều chiến lược sắp xếp thứ tự, nhưng theo nghĩa đơn giản nhất, thứ tự có thể được áp đặt bằng cách gán các số khác nhau cho các nút con của nút Lưu ý rằng thứ tự và duyệt cây không giống nhau 10 KHOA CÔNG NGHỆ THÔNG TIN Một số định nghĩa Cây có thể cân bằng hoặc không cân bằng Cây cân bằng tốt là cây không có nút nào xa gốc hơn bất kỳ nút nào khác Các giải thuật cân bằng khác nhau cho phép các định nghĩa khác nhau về 'xa hơn nhiều' và đi kèm với các chi phí khác nhau để giữ cho cây cân bằng 11 KHOA CÔNG NGHỆ THÔNG TIN BT – Mô tả dữ liệu Cấu trúc cây đơn giản nhất, mỗi nút có tối đa 2 nút con Tại mỗi nút gồm các 3 thành phần • Phần data: chứa giá trị, thông tin… • Liên kết đến nút con trái (nếu có) • Liên kết đến nút con phải (nếu có) Cây nhị phân có thể rỗng (ko có nút nào) Cây NP khác rỗng có 1 nút gốc • Có duy nhất 1 đường đi từ gốc đến 1 nút • Nút không có nút con bên trái và con bên phải là nút lá 12 12 12 KHOA CÔNG NGHỆ THÔNG TIN BT – Mô tả dữ liệu Kích thước = 9 (số nút) Mức 0 A Cây con trái Cây con phải Mức 1 B C Mức 2 D E F G Mức 3 H I Độ sâu/chiều cao = 3 13 13 KHOA CÔNG NGHỆ THÔNG TIN 14 1. Khởi tạo cây 6. Xóa trái 2. Kiểm tra rỗng 7. Xóa phải 3. Tạo nút 8. Duyệt cây 4. Thêm trái 9. Tìm kiếm 5. Thêm phải 10. Xóa cây 14 KHOA CÔNG NGHỆ THÔNG TIN BT- Duyệt cây Duyệt cây: • Do cây là cấu trúc không tuyến tính • 3 cách duyệt cây NP Duyệt theo thứ tự trước PreOrder: NLR Duyệt the ...
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 Cấu trúc dữ liệu và giải thuật Cây nhị phân Cấu trúc phân tầng của cây Thao tác trên cấu trúc câyGợi ý tài liệu liên quan:
-
Đề 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 -
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
-
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ài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 150 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 143 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 139 0 0 -
10 trang 138 0 0
-
57 trang 133 1 0
-
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 124 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 4: Một số giải thuật sắp xếp và tìm kiếm
29 trang 120 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1 - Trần Hạnh Nhi
98 trang 115 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Ứng dụng và cài đặt cấu trúc dữ liệu bằng C: Phần 1
338 trang 73 0 0 -
49 trang 72 0 0
-
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hoàng Mạnh Hà
67 trang 70 0 0 -
54 trang 70 0 0
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Phần 1 - ThS. Hoàng Thế Phương
128 trang 67 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Ngô Công Thắng
8 trang 66 0 0