1 / 11

ĐỒ THỊ

ĐỒ THỊ. I. Định nghĩa - Các khái niệm. Đồ thị G (Graph) là một tập hữu hạn gồm V đỉnh (Vertices) hay nút và một tập hữu hạn E cung (Edges) nối các cặp đỉnh. Ký hiệu G(V,E) Nếu (v1, v2) là cặp đỉnh thuộc E thì có một cung nối v1 và v2. 1. 2. 3. 4. I. Định nghĩa - Các khái niệm.

clover
Download Presentation

ĐỒ THỊ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ĐỒ THỊ

  2. I. Định nghĩa - Các khái niệm Đồ thị G (Graph) là một tập hữu hạn gồm V đỉnh (Vertices) hay nút và một tập hữu hạn E cung (Edges) nối các cặp đỉnh. Ký hiệu G(V,E) Nếu (v1, v2) là cặp đỉnh thuộc E thì có một cung nối v1 và v2.

  3. 1 2 3 4 I. Định nghĩa - Các khái niệm 1. Đồ thị định hướnghướng (directed graph) với đồ thị G(V,E) nếu có cung nối từ v1 đến v2 và cung khác nối từ v2 đến v1 thì G là đồ thị định hướng, cung (v1, v2) là cung định hướng từ v1 đến v2.

  4. 1 2 3 4 5 I. Định nghĩa - Các khái niệm 2. Đồ thị không định hướng (undirected graph) đồ thị G(V,E) trong đó nếu thứ tự các nút không được coi trọng thì gọi là đồ thị không định hướng.

  5. I. Định nghĩa - Các khái niệm 3. Lân cận (adjacent) (v1, v2) là một cung trong E (tập các cung của đồ thị) thì v1 và v2 được gọi là lân cận của nhau. 4. Đường đi (path): một dãy các đỉnh v­p, vi1, vi2, …, vin, v­q mà (v­p, vi1), ( vi1, vi2),…,( vin, v­q) là các cung thuộc E được gọi là một đường đi. Số lượng các cung trên đường đi ấy được gọi là độ dài của đường đi.

  6. I. Định nghĩa - Các khái niệm 5. Đường đi đơn Là đường đi mà mọi đỉnh trên đó trừ đỉnh đầu và đỉnh cuối đều khác nhau. 6. Chu trình Là một đường đi đơn mà đỉnh đầu và đỉnh cuối trùng nhau.

  7. I. Định nghĩa - Các khái niệm 7. Tính liên thông Trong đồ thị G, hai đỉnh vi và vj được gọi là liên thông nếu có một đường đi từ vi đến vj. 8. Đồ thị liên thông Một đồ thị G là liên thông nếu đối với mọi cặp đỉnh phân biệt vi, vj trong V đều có đường đi từ vi đến vj.

  8. 1 2 3 4 5 II. Biểu diễn đồ thị 1. Biểu diễn bằng ma trận lân cận Xét đồ thị G(V,E) có n đỉnh (n>=1) , các đỉnh được đánh số thứ tự theo quy định nào đó. Có thể dùng ma trận vuông A kích thước n x n để biểu diễn đồ thị G. Các phần tử của ma trận A có giá trị 0 hoặc 1. Nếu: Aij = 1 tức là có cung (vi, vj); Aij = 0 không tồn tại cung (vi, vj)12345 Ví dụ Đồ thị hình bên được biểu diễn bằng ma trận sau: Đối với đồ thị có trọng số thì ma trận lân cận có thể lập bằng cách thay giá trị 1 bởi trọng số tương ứng.

  9. 2 3 5 4 1 5 1 2 3 2 II. Biểu diễn đồ thị 2. Biểu diễn bằng danh sách lân cận Trong cách biểu diễn này, n hàng của ma trận được thay đổi bởi n danh sách móc nối. Mỗi đỉnh của G có một danh sách tương ứng, các nút trong danh sách i biểu diễn các đỉnh lân cận với nút i. Mỗi nút có hai trường Index và Link. Trường Index là chỉ số (số thứ tự) của các đỉnh lân cận, trường Link là con trỏ trỏ tới nút kế tiếp trong danh sách. Với đồ thị ở hình trên có thể biểu diễn như sau: v1 v2 v3 v4 v5

  10. 1 2 3 4 5 6 7 8 III. Phép duyệt đồ thị 1. Tìm kiếm theo chiều sâu (Breadth First Search) Tìm kiếm theo chiều sâu đối với đồ thị không định hướng được thực hiện như sau: B1: Xuất phát từ đỉnh v B2: Thăm đỉnh v B3: Quay lại B2 với mỗi đỉnh w lân cận của v chưa được thăm Procedure DFS(v) 1 2 3 4 5 6 7 8 Begin Thăm v; For mỗi đỉnh w lân cận của v do If w chưa thăm then DFS(w); End; Với phép tìm kiếm theo chiều sâu thì thứ tự các đỉnh của đồ thị hình bên được đưa ra: 1, 2, 4, 8, 5, 6, 3, 7

  11. 1 2 3 4 5 6 7 8 III. Phép duyệt đồ thị 2. Tìm kiếm theo chiều rộng (BFS) Xuất phát từ đỉnh v Thăm v Lần lượt thăm các đỉnh w lân cận của v kế tiếp nhau chưa được thăm rồi mới đến các đỉnh lân cận của các đỉnh này. Procedure BFS(v) Begin Thăm v; PUT(v); while Q chưa rỗng do begin GET(v); For mỗi đỉnh w lân cận của v do If w chưa thăm then Begin PUT(w); Thăm w; End; End; End; Trong phép tìm kiếm theo chiều rộng cần sử dụng một Queue với 2 thao tác cơ bản: PUT(v) : thủ tục đưa đỉnh v vào queue; GET(v) : thủ tục lấy một đỉnh trong queue ra gán cho v. Với phép tìm kiếm theo chiều rộng thì thứ tự các đỉnh trên đồ thị hình trên được đưa ra như sau: 1, 2, 3, 4, 5, 6, 7, 8

More Related