intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cấu trúc dữ liệu và giải thuật (Đỗ Tuấn Anh) - Chương 5. Cấu trúc cây

Chia sẻ: Nguyen Nam | Ngày: | Loại File: PDF | Số trang:58

250
lượt xem
60
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 5 – Cấu trúc cây 1. Định nghĩa và khái niệm 2. Cây nhị phân Định nghĩa và Tính chất Lưu trữ Duyệt cây 3. Cây tổng quát Biểu diễn cây tổng quát Duyệt cây tổng quát (nói qua) 4. Ứng dụng của cấu trúc cây • • Cây biểu diễn biểu thức (tính giá trị, tính đạo hàm) Cây quyết định

Chủ đề:
Lưu

Nội dung Text: Cấu trúc dữ liệu và giải thuật (Đỗ Tuấn Anh) - Chương 5. Cấu trúc cây

  1. Cấu trúc dữ liệu và giải thuật Đỗ Tuấn Anh anhdt@it-hut.edu.vn
  2. Nội dung Chương 1 – Thiết kế và phân tích (5 tiết) Chương 2 – Giải thuật đệ quy (10 tiết) Chương 3 – Mảng và danh sách (5 tiết) Chương 4 – Ngăn xếp và hàng đợi (10 tiết) Chương 5 – Cấu trúc cây (10 tiết) Chương 8 – Tìm kiếm (5 tiết) Chương 7 – Sắp xếp (10 tiết) Chương 6 – Đồ thị (5 tiết)
  3. Chương 5 – Cấu trúc cây 1. Định nghĩa và khái niệm 2. Cây nhị phân Định nghĩa và Tính chất Lưu trữ Duyệt cây 3. Cây tổng quát Biểu diễn cây tổng quát Duyệt cây tổng quát (nói qua) 4. Ứng dụng của cấu trúc cây • Cây biểu diễn biểu thức (tính giá trị, tính đạo hàm) • Cây quyết định
  4. 1. Định nghĩa và khái niệm Danh sách chỉ thể hiện được các mối quan hệ tuyến tính. Thông tin còn có thể có quan hệ dạng phi tuyến, ví dụ: Các thư mục file Các bước di chuyển của các quân cờ Sơ đồ nhân sự của tổ chức Cây phả hệ Sử dụng cây cho phép tìm kiếm thông tin nhanh
  5. Cây là gì? đỉnh cạnh #cạnh = #đỉnh – 1 Kết nối tối thiểu --- T là không liên thông nếu xóa đi bất kỳ cạnh nào. Không có chu trình --- T sẽ chứa chu trình nếu thêm bất kỳ cạnh nào.
  6. Cây là gì? Tập các nút (đỉnh), trong đó: Hoặc là rỗng Hoặc có một nút gốc và các cây con kết nối với nút gốc bằng một cạnh
  7. Ví dụ: Cây thư mục
  8. Ví dụ: Cây biểu thức
  9. Các khái niệm nút gốc a nút giữa/nhánh nút cha d b c nút anh em nút e f nút lá g h nút con nút con j i e, i, k, g, h là các nút lá k
  10. Cây con nút gốc Một nút và tất cả a các nút con cháu. d b c e f g h i j k
  11. Đường đi Tồn tại một đường đi duy nhất từ một nút bất kỳ đến nút con Từ nút cha đến các nút cháu của nó. a con cháu của nó. d b Đường c Đường đi 2 đi 1 f e h g i Đường đi 1: { a, b, f, j } j Đường đi 2: { d, i }
  12. Độ sâu và độ cao Độ sâu 0 Chiều cao = 4 7 Độ sâu 1 3 10 4 Nút có chiều cao = 2 Độ sâu 2 8 12 11 2 Độ sâu 3 1 6 5 Độ sâu 4 9
  13. Cấp (degree) Số con của nút x được gọi Cấ p = 3 là cấp của x. 7 3 10 4 Cấ p = 1 Cấ p = 0 8 12 11 2 1 6 5 9
  14. 2. Cây nhị phân 2.1. Định nghĩa và tính chất Mỗi nút có nhiều nhất 2 nút con. Con trái và Con phải Một tập các nút T được gọi là cây nhị phân nếu a) Nó là cây rỗng, hoặc b) Gồm 3 tập con không trùng nhau: 1) một nút gốc r 2) Cây nhị phân con trái 3) Cây nhị phân con phải a e b c f d cây con phải cây con trái
  15. Cây nhị phân đầy đủ và Cây nhị phân hoàn chỉnh Cây nhị phân hoàn chỉnh: Cây nhị phân đầy đủ: Các nút hoặc là nút lá Tất cả nút lá đều có cùng độ sâu và tất cả nút giữa có hoặc có cấp = 2. cấp = 2. 7 73 3 10 3 10 2 8 11 8 12 12
  16. Một số dạng cây nhị phân
  17. Một số tính chất Số nút tối đa có độ sâu i : 2i Số nút tối đa (với cây nhị phân độ cao H) là: 2H+1 - 1 Độ cao (với cây nhị phân gồm N nút): H Tối đa = N Tối thiểu = [log2(N+1)] - 1
  18. 2.2 Lưu trữ cây nhị phân Lưu trữ kế tiếp: Sử dụng mảng
  19. Lưu trữ móc nối left a right a b c left b right left c right f e NULL left e right left f right g left g right
  20. Xây dựng cấu trúc cây nhị phân Mỗi nút chứa : Dữ liệu 2 con trỏ trỏ đến 2 nút con của nó Data Nút con Nút con trái phải
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2