Bài giảng Lý thuyết đồ thị - Bài 4: Cây (Tree)

32 93 0
Bài giảng Lý thuyết đồ thị - Bài 4: Cây (Tree)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Lý thuyết đồ thị - Bài 4: Cây (Tree) cung cấp cho người học các kiến thức: Các khái niệm cơ bản về cây, tính chất của cây, cây có gốc, cây nhị phân, một số tính chất của cây nhị phân,... Mời các bạn cùng tham khảo nội dung chi tiết.

Bài Cây (Tree) Các khái niệm Cây  Định nghĩa: Cây đơn đồ thị vơ hướng, liên thơng khơng chứa chu trình Ví dụ: Trong đồ thị sau, đồ thị cây?  Cả đồ thị  Cây (tt)  VD: Trong đồ thị sau, đồ thị cây?  G1, G2 G3 khơng có chứa chu trình, G4 không liên thông Cây (tt)  Định nghĩa: Nếu G đồ thị vô hướng không chứa chu trình G gọi rừng Khi thành phần liên thơng G VD:  Đồ thị rừng có  Tính chất  Định lý: Cho T đồ thị vô hướng Khi đó, điều sau tương đương: T T không chứa chu trình có n – cạnh T liên thơng có n – cạnh T liên thơng cạnh T cạnh cắt (cầu) Hai đỉnh T nối với đường đơn T không chứa chu trình thêm cạnh vào T ta thêm chu trình Tính chất (tt)  Chứng minh định lý:  (1) (2): T T không chứa chu trình có n-1 cạnh  Hiển nhiên T khơng chứa chu trình (do T cây)  Ta cần chứng minh T có n-1 cạnh  Xét T có n đỉnh Ta chứng minh quy nạp theo n n – n = 2, Cây có đỉnh có cạnh Đúng – Giả sử có k đỉnh có k-1 cạnh – Xét Tk+1 có k + đỉnh Dễ thấy Tk+1 tồn đỉnh treo – Loại đỉnh treo (cùng với cạnh nối) khỏi T k+1 ta đồ thị T’ có k đỉnh Dễ thấy T’ liên thơng khơng có chu trình (do T k+1 khơng có chu trình) – Suy T’ Theo giả thiết quy nạp, T’ có k đỉnh có k-1 cạnh Vậy Tk+1 có k cạnh (đpcm) Tính chất (tt)  Chứng minh định lý (tt):  (2) (3): T không chứa chu trình có n-1 cạnh thơng có n-1 cạnh T liên  Hiển nhiên T có n-1 cạnh (theo giả thiết)  Ta cần chứng minh T liên thơng  Giả sử T có k thành phần liên thông với số đỉnh n ,…, n k  Khi thành phần liên thơng T có số cạnh n1-1, n2-1,…, nk-1  Suy ra, số cạnh T n1-1 + n2-1 +…+ nk-1 = n – k  Theo giả thiết, số cạnh n-1 Từ suy k = hay T có thành phần liên thơng Suy T liên thơng (đpcm) Tính chất (tt)  Chứng minh định lý (tt):  (3) (4): T liên thơng có n-1 cạnh cạnh T cạnh cắt (cầu) T liên thông  Hiển nhiên T liên thông (theo giả thiết)  Ta cần chứng minh cạnh T cạnh cắt (cầu)  Xét (u,v) cạnh T Nếu bỏ (u,v) khỏi T, ta đồ thị T’ có n đỉnh n-2 cạnh  Đồ thị có n đỉnh n-2 cạnh khơng thể liên thơng  Vậy bỏ cạnh (u,v) làm tính liên thông đồ thị Suy (u,v) cạnh cắt (cầu) (đpcm) Tính chất (tt)  Chứng minh định lý (tt):  (4) (5): T liên thông cạnh T cạnh cắt (cầu) Giữa hai đỉnh T tồn đường đơn  Xét u, v hai đỉnh T  Do T liên thông nên tồn đường u v Ta chứng minh đường  Giả sử có hai đường đơn khác u v Khi hai đường tạo thành chu trình  Suy ra, cạnh chu trình khơng thể cạnh cắt (???) – Mâu thuẫn  Vậy u v tồn đường đơn (đpcm) Tính chất (tt)  Chứng minh định lý (tt):  (5) (6): Giữa hai đỉnh T tồn đường đơn T khơng chứa chu trình, thêm vào cạnh phát sinh chu trình T khơng thể có chu trình, có chu trình hai đỉnh chu trình có đường đơn khác – mâu thuẫn với GT  Giả sử ta thêm vào T cạnh (u,v) (trước khơng có cạnh T)  Khi cạnh tạo với đường u v T tạo thành chu trình (Vì tạo thành chu trình chứng tỏ trước có đường khác u v – mâu thuẫn với giả thiết) 10 Các mơ hình dạng (tt)  Hệ thống tập tin, thư mục: 18 Các ứng dụng   Cây nhị phân tìm kiếm (đã học mơn CTDL) Cây định Là có gốc  Mỗi đỉnh ứng với định  Mỗi đỉnh ứng với kết định   Mã tiền tố Huffman (đề tài nghiên cứu) 19 Cây nhị phân   Định nghĩa: Cây nhị phân mà nút có tối đa Trong thực tế thường gặp cấu trúc có dạng nhị phân Một tổng quát biểu diễn thông qua nhị phân Cây trái Cây phải 20 Cây nhị phân (tt)  Cây nhị phân dùng để biểu diễn biểu thức toán học: 21 Một số tính chất nhị phân       Số nút nằm mức i 2i Chiều cao h mức cao + Số nút 2h-1, với h chiều cao Chiều cao h log2(số nút cây) Số nút 2h-1 Đường (path)  Tên node trình từ node gốc theo đến node Mức 22 Biểu diễn nhị phân T  Cây nhị phân cấu trúc bao gồm phần tử (nút) kết nối với theo quan hệ “cha-con” với cha có tối đa Để biểu diễn nhị phân ta chọn phương pháp cấp phát liên kết Ứng với nút, ta sử dụng biến động lưu trữ thông tin sau: Thông tin lưu trữ nút  Địa nút gốc trái nhớ  Địa nút gốc phải nhớ  23 Biểu diễn nhị phân T (tt) Để đơn giản, khai báo cấu trúc liệu sau : typedef struct NODE { int data; NODE* left; NODE* right; }; typedef struct NODE* TREE; TREE root; 24 Tạo nhị phân void CreateTree( &root) { int x; printf (“\nGia tri node :”); x = toupper (getch()); if ( isspace (x)==0) { root=(node*)malloc(sizeof(node)); root ->data=x; printf(“\nCon trai cua %c (ENTER NULL)”,x); CreateTree(root->left); printf(“\nCon phai cua %c (ENTER NULL)”,x); CreateTree(root->right); } else root=NULL; } 25 Duyệt nhị phân  Có kiểu duyệt áp dụng nhị phân: Duyệt theo thứ tự trước (NLR)  Duyệt theo thứ tự (LNR)  Duyệt theo thứ tựï sau (LRN)   Tên kiểu duyệt đặt dựa trình tự việc thăm nút gốc so với việc thăm 26 Duyệt theo thứ tự trước (Node-LeftRight)  Ví dụ: đọc sách hay báo từ đầu đến cuối minh họa hình bên dưới: 27 Duyệt theo thứ tự trước (Node­Left­ Right A B C D E H I N J F G K O L M P Kết quả: A B D H I N E J O K C F L P G M 28 Duyệt theo thứ tự (Left- NodeRight)   Kiểu duyệt trước tiên thăm nút trái sau thăm nút gốc đến phải Thủ tục duyệt trình bày đơn giản sau: void LNR(TREE root) { if (root != NULL) { LNR(root->left); ; //Xử lý tương ứng theo nhu cầu LNR(root->right); } } 29 Duyệt theo thứ tự (Left- NodeRight) A B C D E H I N J F G K O L M P Kết quả: H D N I B J O E K A F P L C M G 30 Duyệt theo thứ tự sau (Left-RightNode)   Kiểu duyệt trước tiên thăm nút trái sau thăm đến phải cuối thăm nút gốc Thủ tục duyệt trình bày đơn giản sau: void LRN(TREE root) { if (root != NULL) { LRN(root->left); LRN(root->right); ; //Xử lý tương ứng theo nhu cầu } } 31 Duyệt theo thứ tự sau (Left-RightNode) A B C D E H I N J F G K O L M P Kết quả: H N I D O J K E B P L F M G C A 32 ...Các khái niệm Cây  Định nghĩa: Cây đơn đồ thị vô hướng, liên thông khơng chứa chu trình Ví dụ: Trong đồ thị sau, đồ thị cây?  Cả đồ thị  Cây (tt)  VD: Trong đồ thị sau, đồ thị cây?  G1, G2... T, ta đồ thị T’ có n đỉnh n-2 cạnh  Đồ thị có n đỉnh n-2 cạnh liên thông  Vậy bỏ cạnh (u,v) làm tính liên thơng đồ thị Suy (u,v) cạnh cắt (cầu) (đpcm) Tính chất (tt)  Chứng minh định lý (tt):... khơng liên thơng Cây (tt)  Định nghĩa: Nếu G đồ thị vơ hướng khơng chứa chu trình G gọi rừng Khi thành phần liên thông G VD:  Đồ thị rừng có  Tính chất  Định lý: Cho T đồ thị vơ hướng Khi

Ngày đăng: 25/10/2020, 18:13

Từ khóa liên quan

Mục lục

  • Bài 4

  • Các khái niệm cơ bản về Cây

  • Cây (tt)

  • Slide 4

  • Tính chất của cây

  • Tính chất của cây (tt)

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Cây có gốc

  • Cây có gốc (tt)

  • Slide 14

  • Slide 15

  • Các mô hình dạng cây

  • Các mô hình dạng cây (tt)

  • Slide 18

  • Các ứng dụng của cây

  • Cây nhị phân

Tài liệu cùng người dùng

Tài liệu liên quan