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
lượt xem 10
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
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
- Giảng viên: Văn Chí Nam – Nguyễn Thị Hồng Nhung – Đặng Nguyễn Đức Tiến
- 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 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
- 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 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 Sơ đồ tổ chức Cây thư mục Cấu trúc dữ liệu và giải thuật - HCMUS 2013
- 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 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 Đỉ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 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 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 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 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
- 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 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 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 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 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 Cấu trúc dữ liệu và giải thuật - HCMUS 2013
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cấu trúc dữ liệu - Bài 1:Tổng quan về cấu trúc dữ liệu và giải thuật
47 p | 175 | 17
-
Bài giảng Cấu trúc dữ liệu 1: Chương 1 - Lương Trần Hy Hiến
7 p | 162 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 8: Cấu trúc dữ liệu ngăn xếp
28 p | 77 | 9
-
Bài giảng Cấu trúc dữ liệu giải thuật: Các kiểu dữ liệu trừu tượng cơ bản - Cấu trúc dữ liệu tuyến tính
92 p | 116 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên
25 p | 81 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 17: Cấu trúc dữ liệu dạng cây
21 p | 77 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các cấu trúc dữ liệu
193 p | 59 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (2016)
62 p | 94 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (Trường Đại học Hồng Bàng )
62 p | 159 | 6
-
Bài giảng Cấu trúc dữ liệu - Chương 3: Cấu trúc cây
65 p | 58 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AA - Bùi Tiến Lên
30 p | 35 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 – Trần Minh Thái (2017)
67 p | 106 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây - Bùi Tiến Lên
68 p | 40 | 4
-
Bài giảng Cấu trúc dữ liệu: Chương 1 - ThS. Thiều Quang Trung (2018)
44 p | 43 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AVL - Bùi Tiến Lên
38 p | 47 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - Ngô Quang Thạch
24 p | 58 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Th.S Thiều Quang Trung
41 p | 68 | 3
-
Bài giảng Cấu trúc dữ liệu giải thuật: Cấu trúc dữ liệu
17 p | 50 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn