Please purchase a Please purchase a personal license. personal license. C C Á Á C KH C KH Á Á I Ni I Ni Ệ Ệ M V M V Ề Ề Đ Đ Ồ Ồ TH TH Ị Ị C C á á c kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Khái niệm: - Đồ thị là tập các đỉnh và các cạnh. G = (V,E) - Cạnh là đường kết nối giữa 2 đỉnh - Có 2 loại đồ thị: - Đồ th ị vô hướ ng (undirected graphs) – Graph - Đồ th ị có hướ ng (directed graphs) - Digraph Ví dụ đồ thị vô hướng: G = ({1,2,3,4,5},{{1,2}, {1,3},{2,3},{2,4}, {3,5},{4,5}}) C C á á c kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Ví dụ đồ thị có hướng: G = ({1,2,3,4,5},{{1,2}, {1,3},{2,1},{3,2}, {4,3},{4,5},{5,2}, {5,4}}) Bài tập: 1. Vẽ Graph: G=({1,2,3,4,5,6},{{1,2},{1,4},{2,5}, {2,6},{3,4},{3,5},{3,6},{4,5},{4,6},{5,6}}) 2. Vẽ Digraph: G=({1,2,3,4,5},{{1,2},{1,4},{1,5}. {2,3},{2,5},{3,2},{3,4},{3,5},{4,1},{4,5},{5,2}}) C C á á c kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Thuật ngữ: - Một đồ thị đầy đủ: (Complete Graph)Là 1 đỉnh sẽ đi đến tất cả các đỉnh khác. Đồ thị có N đỉnh Có (N 2 -N)/2 cạnh - Một đồ thị có hướng đầy đủ (Complete Digraph) với N đỉnh (N 2 -N) cạnh - G s =(V s ,E s ) là đồ thị con (Subgraph)của G=(V,E) nếu Vs là tập con của V và Es là tập con của E C C á á c kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Thuật ngữ: - Đường đi giữa 2 đỉnh A, B (Path): bắt đầu từ đỉnh A, qua một số đỉnh, và kết thúc là đỉnh B - Đồ thị có trọng số (weighted graph) là mỗi cạnh của đồ thị có giá trị - Đườ ng đ i c ủ a đồ th ị có tr ọ ng s ố là t ổ ng giá tr ị c ủ a m ỗ i c ạ nh - Đườ ng đ i ng ắ n nh ấ t gi ữ a 2 đỉ nh: là đườ ng đ i có tr ọ ng s ố nh ỏ nh ấ t C C á á c kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Thuật ngữ: - Một đồ thị gọi là liên thông (connected) nếu như có ít nhất 1 đường đi nối tất cả các đỉnh - Chu trình (cycle) là đường đi bắt đầu từ 1 đỉnh và kết thúc tại đỉnh đó. - Một đồ thị không có chu trình được gọi là cây (tree) C C á á c kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Bài tập: 1. Biểu diễn đồ thị G? 2. Liệt kê tất cả đường đi giữa đỉnh 1 và 4 3. Liệt kê tất cả chu trình bắt đầu tại đỉnh 7 C C Ấ Ấ U TR U TR Ú Ú C D C D Ữ Ữ Li Li Ệ Ệ U U CHO Đ CHO Đ Ồ Ồ TH TH Ị Ị C C ấ ấ u tr u tr ú ú c d c d ữ ữ li li ệ ệ u cho đ u cho đ ồ ồ th th ị ị Biểu diễn đồ thị: Có 2 cách - Ma trận kế cận (adjacency matrix): có khả năng cập nhật thông tin của cạnh nhanh chóng, tuy nhiên không đầy đủ - Tập danh sách kế cận (adjacency list): Biểu diễn đầy đủ thông tin về cạnh, tuy nhiên cần nhiều thời gian hơn để cập nhật thông tin - Đối với đồ thị có nhiều đỉnh, nhưng số cạnh không nhiều Tập danh sách kề là tối ưu để biểu diễn đồ thị . con của V và Es là tập con của E C C á á c kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Thuật ngữ: - Đường đi giữa 2 đỉnh A, B (Path): bắt đầu từ đỉnh A, qua một số đỉnh, và kết thúc. đ đ ồ ồ th th ị ị Thuật ngữ: - Một đồ thị gọi là liên thông (connected) nếu như có ít nhất 1 đường đi nối tất cả các đỉnh - Chu trình (cycle) là đường đi bắt đầu từ 1 đỉnh và kết thúc tại đỉnh. kh c kh á á i ni i ni ệ ệ m v m v ề ề đ đ ồ ồ th th ị ị Khái niệm: - Đồ thị là tập các đỉnh và các cạnh. G = (V,E) - Cạnh là đường kết nối giữa 2 đỉnh - Có 2 loại đồ thị: - Đồ th ị vô hướ ng