CâyĐịnh nghĩa và tính chất Định nghĩa Cây. a) Cho G là đồ thị vô hướng. G được gọi là một cây nếu G liên thông và không có chu trình sơ cấp. b) Rừng là đồ thị mà mỗi thành phần liên thông của nó là một cây. Định nghĩa và tính chất 1 4 3 10 9 6 11 12 13 14 7 8 15 16 17 2 5 3 4 1 Định nghĩa và tính chất Điều kiện cần và đủ. Cho T là đồ thị vô hướng có n đỉnh. Các phát biểu sau đây là tương đương: i. T là cây. ii. T liên thông và có n-1 cạnh. iii. T không có chu trình sơ cấp và có n-1 cạnh . iv. T liên thông và mỗi cạnh là một cầu. v. Giữa hai đỉnh bất kỳ có đúng một đường đi sơ cấp nối chúng với nhau. vi. T không có chu trình sơ cấp và nếu thêm vào một
Cây Cây ĐN tính chất Cây khung ngắn Biên soạn: TS.Nguyễn Viết Đơng Cây có gốc Phép duyệt Định nghĩa tính chất Định nghĩa tính chất Định nghĩa Cây a) Cho G đồ thị vô hướng G gọi G liên thông chu trình sơ cấp b) Rừng đồ thị mà thành phần liên thơng 10 11 12 13 14 15 16 17 Định nghĩa tính chất Định nghĩa tính chất Điều kiện cần đủ Cho T đồ thị vơ hướng có n đỉnh Các phát biểu sau tương đương: i T ii T liên thơng có n-1 cạnh iii T khơng có chu trình sơ cấp có n-1 cạnh iv T liên thông cạnh cầu v Giữa hai đỉnh có đường sơ cấp nối chúng với vi T khơng có chu trình sơ cấp thêm vào cạnh hai đỉnh khơng kề có chu trình sơ cấp 10 11 12 13 14 15 16 17 Breadth-first Search Algorithm Thuật toán ưu tiên chiều rộng Cho G đồ thị liên thông với tập đỉnh {v1, v2, …, vn} Định nghĩa tính chất Định nghĩa khung Cho G = (V,E) đồ thị vô hướng T đồ thị khung G Nếu T T gọi khung(hay tối đại, hay bao trùm) đồ thị G Thuật tốn tìm khung Bước 0:thêm v1 gốc rỗng Bước 1: thêm vào đỉnh kề v1 làm cạnh nối v1 với chúng Những đỉnh đỉnh mức Bước 2: đỉnh v mức1, thêm vào cạnh kề với v vào cho không tạo nên chu trình đơn Thu đỉnh mức …………………………………………………… Tiếp tục trình tất đỉnh đồ thị ghép vào CâyT thu khung đồ thị Ví dụ Xét đồ thị liên thông G c b a e d d d b g f m j k Chọn e làm gốc b a e d a a h i m j k f d b g i c h k g l Cuối thêm l m g k tương ứng Các đỉnh mức là: l, m f d b g i c h j k k g j Thêm a c làm b, h d, g j f, Depth-first Search Algorithm (Thuật toán ưu tiên chiều sâu) Cho G đồ thị liên thông với tập đỉnh{v1, v2, …, vn} e f f k i, Các đỉnh mức là: a, c, h, g, j, k Các đỉnh mức là: b, d, f, i l e i m Các đỉnh kề với e c e i h i l e f h c b a l j m Chọn đỉnh tùy ý đồ thị làm gốc Xây dựng đường từ đỉnh cách lượt ghép cạnh cho cạnh ghép nối đỉnh cuối đường với đỉnh chưa thuộc đường đi.Tiếp tục ghép thêm cạnh vào đường chừng thêm Nếu đường qua tất đỉnh đồ thị đường tạo nên khung Nếu chưa lùi lại đỉnh trước đỉnh cuối đường xây dựng đường xuất phát từ đỉnh qua đỉnh chưa thuộc đường Nếu điều khơng thể làm lùi thêm đỉnh đường đi, tức lùi hai đỉnh đường thử xây dựng đường Ví dụ Tìm bao trùm đồ thị G d a i j d a f g g h e k g k g j e k h b k b d h c h e f j f f c i c i j a b Thêm i làm thứ hai h lùi f Lại thêm hậu duệ f : d, e, c, a Giải Bắt đầu chọn đỉnh f làm gốc Thêm hậu duệ f : g, h, k, j Lùi k không thêm cạnh nào, tiếp tục lùi h Lùi c thêm b làm thứ hai Cây thu khung đồ thị cho Định nghĩa tính chất Cây khung ngắn Thuật tốn tìm khung ngắn Định nghĩa Cây khung ngắn Cho G đồ thị có trọng số Cây khung T G gọi khung ngắn (cây tối đại ngắn nhất,cây bao trùm ngắn nhất, khung tối tiểu) khung G mà có trọng lượng nhỏ a)Thuật toán Kruscal Cho G đồ thị liên thơng, có trọng số, n đỉnh Bước 1.Trước hết chọn cạnh ngắn e1 cạnh G Bước Khi chọn k cạnh e1,e2,…ek chọn tiếp cạnh ek+1 ngắn cạnh lại G cho khơng tạo thành chu trình với cạnh chọn trước 15 Bước Chọn đủ n-1 cạnh dừng 16 Cây khung ngắn a d u Cây khung ngắn a S1 b a b u 4 b 8 c Cây khung ngắn a d u d u 1 a u d b c S3 19 u d 4 b a b S2 18 Cây khung ngắn b d c 17 a c 20 K5 < K8