1. Trang chủ
  2. » Cao đẳng - Đại học

Toán rời rạc 2 chương 5 cây và cây khung đồ thị

25 53 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 385,41 KB

Nội dung

CH NG CÂY VÀ CÂY KHUNG Đ TH N I DUNG:  Định nghĩa tính chất  Xây dựng khung đồ thị  Bài tốn tìm khung nhỏ CuuDuongThanCong.com https://fb.com/tailieudientucntt 5.1 Đ nh nghĩa tính chất c Cây tự - Cây tự (không gốc) T đồ thị vô hứng liên thông v̀ không ć chu tr̀nh đơn - Đồ thị F rừng  thành phần liên thông F - Đồ thị F rừng  F khơng có chu trình đơn CuuDuongThanCong.com https://fb.com/tailieudientucntt Cây tự (khơng gốc) CuuDuongThanCong.com https://fb.com/tailieudientucntt Đ nh lý 1: T= (V, E) đồ thị vơ hứng có n đỉnh Các mệnh đề sau tương đương: (1) T cây; (2) T khơng chứa chu trình có n-1 cạnh; (3) T liên thơng có n-1 cạnh; (4) T liên thông cạnh T cầu ; (5) Hai đỉnh T có đường nối đến ; (6) T khơng chứa chu trình thêm cạnh thu chu trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Cây có g c Đ nh nghĩa 1: Cây tập hợp hữu hạn nút thỏa mãn: - Có nút gọi gốc - Có quan hệ phân cấp “cha-con” nút Đ nh nghĩa (đệ qui): - Nếu T gồm nút  T v́i gốc l̀ nút đ́ - Nếu T1, …, Tn (n  1) có gốc tương ứng r1, …, rn  T v́i gốc r tạo thành cách cho r thành nút cha nút r1, …, rn CuuDuongThanCong.com https://fb.com/tailieudientucntt Cây có gốc tam phân Các mức Các ví dụ cây: - Mục lục sách - Cấu trúc thư mục đĩa máy tính - Dùng để biểu diễn biểu thức số học CuuDuongThanCong.com https://fb.com/tailieudientucntt M t s khái niệm: - Nút g c: nút T khơng có cha - Nút cha: Nút r cha nút r1, , rn  Nút gốc nút khơng có nút cha - Nút con: Các nút r1, …, rn gọi nút r - Bậc m t nút: số nút nút đ́ - Bậc m t T: bậc ĺn nút  T T có bậc m  T gọi m-phân Nút lá: l̀ nút ć bậc =  nút khơng có nút Nút nhánh (nút hay nút trung gian): l̀ nút vừa ć vừa ć cha T m-phơn đầy đủ  nút nhánh ć m CuuDuongThanCong.com https://fb.com/tailieudientucntt - Cây con: M i có g c nút a  T m t T - Đ ờng đi: Dãy đỉnh r1, …, rk, đ́ ri cha ri+1 gọi l̀ đường từ r1 đến rk Độ dài đường l̀ số nút đường -1 (Đường ć độ dài k-1) - Mức nút: l̀ độ d̀i đường từ gốc đến nút (độ cao nút)  Nút gốc có mức - Chiều cao cây: mức ĺn nút  T - Cơy đ ợc thứ tự: mà theo thứ tự ǹo đ́ - Cây gán nhãn: mà đỉnh gắn v́i giá trị (nhãn) Cây nh phân: Cây nhị phân mà nút có khơng q Phân biệt bên trái bên phải CuuDuongThanCong.com https://fb.com/tailieudientucntt Đ nh nghĩa cơy khung Đ nh nghĩa Cho G l̀ đơn đồ thị Một T gọi l̀ khung G  T l̀ đồ thị G v̀ chứa tất đỉnh G Đồ thị G Một khung T G CuuDuongThanCong.com https://fb.com/tailieudientucntt Đ nh ĺ Một đơn đồ thị l̀ liên thông v̀ ń ć khung Ch́ng minh Giả s̉ đồ thị G ć khung T chứa tất đỉnh G ć đường T hai đỉnh  ć đường G hai đỉnh ń  G l̀ liên thông Giả s̉ G l̀ liên thông Nếu G l̀ th̀ G ć chu tr̀nh đơn X́a cạnh chu tr̀nh đơn ǹy Đồ thị nhận chứa số cạnh ṽn c̀n chứa tất đỉnh G v̀ liên thông Nếu đồ thị ǹy l̀ th̀ ń chứa chu tr̀nh đơn C̃ng giống trên, x́a cạnh chu tr̀nh đơn Ḷp lại tr̀nh ǹy không c̀n chu tr̀nh đơn Điều ǹy ć thể v̀ ć hữu hạn cạnh đồ thị Đồ thị cuối sau x́a cạnh chu tr̀nh l̀ khung 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt 5.2 Bài tốn tìm khung 1) Đặt bƠi toán: Input: Đồ thị G gồm n đỉnh cho danh sách kề; Đỉnh u; Output: Cây khung T G đỉnh u; 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt Xơy dựng khung thuật toán DFS Thuật toán TreeDfs(u): - Tạo T thuật toán DFS đỉnh u; - Nếu số đỉnh T n th̀ xuất kết T; - Nếu số đỉnh T nhỏ n th̀ xuất thông báo: Khơng có khung.; Đ phức tạp tính tốn: Giải thuật t̀m khung ć độ phức tạp O(n) 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ: T̀m khung đồ thị G cho dứi đây: - Tìm kiếm theo chiều sâu 1: T = {(1, 3), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 11), (8, 10)} - Tìm kiếm theo chiều rộng 1: T = {(1, 3), (2, 3), (3,4), (4, 5), (4, 6), (6, 7), (6, 8), (8, 9), (8, 10), (9, 11)} Ghi chú: - Cây khung T tìm kiếm theo chiều rộng gồm đường ngắn xuất phát từ đến đỉnh khác - Đồ thị đầy đủ Kn có nn-2 khung khác 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt Xơy dựng khung thuật toán BFS Thuật toán TreeBfs(u): - Tạo T thuật toán BFS đỉnh - Nếu số đỉnh T n th̀ xuất kết T - Nếu số đỉnh T nhỏ n th̀ xuất thơng báo: Khơng ć khung Đ phức tạp tính toán: Giải thuật t̀m khung ć độ phức tạp O(n) 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt 5.3 BƠi tốn tìm cơy khung nhỏ Cơy khung nhỏ Cho đồ thị vô hứng ć trọng số G = (V, E) Gọi T l̀ câu khung G Trọng số WT T l̀ t̉ng trọng số cạnh thuộc Cây khung T khung nh̉ nh́t  WT có giá trị nhỏ Điều kiện: G ć khung nhỏ  G liên thông; 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thuật tốn tìm cơy khung nhỏ nhất: Thuật toán Thuật toán Prim Đồ thị G = (V, E) gồm n đỉnh cho ma trận trọng số a[i][j]; Đỉnh s  G; Output: Cây khung nhỏ T v̀ WT; Input: Khởi tạo: T= ; VT = {s}; WT= 0; while (V\VT ≠) { ; if (T̀m e) {T = T  e; WT= WT + trọng số e; VT = VT  {v}; } else return (G khơng có khung); } return (T WT); 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ Dùng thuật tốn Prim, t̀m khung nhỏ đồ thị G s = b; Gỉi Khởi tạo T = ; VT = {b}; WT = 0; Cây khung nhỏ xây dựng thuật toán Prim thể bảng sau: 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt a B ́c cḥn 10 11 Cạnh đ ợc cḥn b,f a,b f,j a,e f,g c,g c,d g,h h,l i,j k,l Tṛng s 2 3 3 WT 11 13 14 17 20 23 24 Kết luận: T = { (b,f), (a,b), (f,j), (a,e), (f,g), (c,g), (c,d), (g,h), (i,j) (h,l), (k,l) } WT = 24 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt CƠi đặt: int n, a[100][100], s; int vt[100], d[100], t[100]; void Prim() {for (int i= 1; i

Ngày đăng: 13/09/2021, 13:31

TỪ KHÓA LIÊN QUAN