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

Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 3: Cấu trúc cây

Chia sẻ: Minh Anh | Ngày: | Loại File: PDF | Số trang:142

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

Bài giảng "Cấu trúc dữ liệu và giải thuật - Chương 3: Cấu trúc cây" cung cấp cho người học các khái niệm về cấu trúc cây, phép duyệt cây và biểu diễn cây, cây nhị phân và cây nhị phân tìm kiếm, các thao tác trên cây nhị phân tìm kiếm, cây AVL, cây AA. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 3: Cấu trúc cây

  1. Giảng viên: Văn Chí Nam – Nguyễn Thị Hồng Nhung – Đặng Nguyễn Đức Tiến
  2. 2 Khái niệm Phép duyệt cây và Biểu diễn cây Cây nhị phân và Cây nhị phân tìm kiếm Cây AVL Cây AA Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  3. 3 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  4. 4  Tree  Search tree  Binary search tree  Balanced tree  AVL tree  AA tree  Red-Black tree  … Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  5. 5 a b c d e f g h i j k l m n o p q Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  6. 6 Sơ đồ tổ chức Cây thư mục Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  7. 7 Cây (cây có gốc) được xác định đệ quy như sau: 1. Tập hợp gồm 1 đỉnh là một cây. Cây này có gốc là đỉnh duy nhất của nó. 2. Gọi T1, T2, … Tk (k ≥ 1) là các cây không cắt nhau có gốc tương ứng r1, r2, … rk. Giả sử r là một đỉnh mới không thuộc các cây Ti. Khi đó, tập hợp T gồm đỉnh r và các cây Ti tạo thành một cây mới với gốc r. Các cây T1, T2, … Tk được gọi là cây con của gốc r. Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  8. 8 Nút gốc r1 r2 rk T1 T2 Tk Cây con Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  9. 9  Đỉnh (nút): node  Gốc: root  Node lá: leaf  Node trong: inner node/internal node  Node cha: parent  Node con: child  Đường đi: path Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  10. 10 Nút gốc r1 r2 rk k1 k2 T1 T2 Tk k3 k4 k5 Cây con Nút lá Đường đi k6 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  11. 11  Bậc: degree/order  Bậc của node: Số con của node  Bậc của cây: bậc lớn nhất trong số các node của cây  Mức (Độ sâu): depth/level  Mức (độ sâu) của node: Chiều dài của đường đi từ node gốc đến node đó cộng thêm 1.  Chiều cao: height  Chiều cao cây:  Cây rỗng: 0  Cây khác rỗng: Mức lớn nhất giữa các node của cây Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  12. 12 Bậc = k Nút gốc Bậc = 2 Độ cao = 4 r1 r2 rk k1 k2 T1 T2 Tk k3 k4 k5 Cây con Nút lá Đường đi k6 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  13. 13 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  14. 14  Đảm bảo đến mỗi node trên cây chính xác một lần một cách có hệ thống.  Nhiều thao tác xử lý trên cây cần phải sử dụng đến phép duyệt cây.  Các phép cơ bản:  Duyệt trước (Pre-order)  Duyệt giữa (In-order)  Duyệt sau (Post-order) Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  15. 15 Parent(a)? Tìm cha một đỉnh. Parent(b) = a Eldest- Child(c) = g • Parent(x) Tìm đỉnh con trái nhất. b c • EldestChild(x) Tìm đỉnh kề phải. d e f g h • NextSibling(x) NextSibling(g) = h i NextSibling(h)? Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  16. 16 Duyệt theo chiều sâu Duyệt trước • abdeijcfgkh Duyệt giữa b c • dbiejafckgh d e f g h Duyệt sau • dijebfkghca i j k Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  17. 17 Pre-order Post-order void Preorder(NODE A) void Postorder(NODE A) { { NODE B; NODE B; Visit(A); B = EldestChild(A); B = EldestChild(A); while (B != ) { while (B != ) { Postorder(B); Preorder(B); B = NextSibling(B); B = NextSibling(B); } } Visit(A); } } Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  18. 18 In-Order void Inorder(NODE A) { NODE B; B = EldestChild(A); if (B != ) { Inorder(B); B = NextSibling(B); } Visit(A); while (B != ) { Inorder(B); B = NextSibling(B); } } Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  19. 19 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
  20. 20 info child id next 1 a 2 3 2 b 4 5 3 c 6 7 8 4 d 5 e 9 10 6 f b c 7 g 11 8 h d e f g h 9 i 10 j 11 k i j k Cấu trúc dữ liệu và giải thuật - HCMUS 2013
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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