1. Trang chủ
  2. » Lịch sử

Bài giảng Cấu trúc dữ liệu và giải thuật: Đồ thị - Phan Mạnh Hiển (2020)

10 9 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 695,33 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Đồ thị và biểu diễn đồ thị • Duyệt đồ thị. • Sắp xếp topo[r]

Trang 1

Đồ thị

(Graphs)

Nguyễn Mạnh Hiển

hiennm@tlu.edu.vn

Trang 2

Nội dung

• Đồ thị và biểu diễn đồ thị

• Duyệt đồ thị

• Sắp xếp topo

• Tìm đường đi ngắn nhất

Trang 3

Đồ thị và biểu diễn đồ thị

Trang 4

Đồ thị

• Đồ thị G = (V, E) bao gồm một

tập đỉnh V và một tập cạnh E

• Mỗi cạnh là một cặp (v, w)

trong đó v, w  V

• Đồ thị không có hướng:

− Các cạnh không có thứ tự

− Cạnh (v, w) giống như cạnh (w, v)

• Đồ thị không có hướng được vẽ bằng

các nút cho các đỉnh và các đoạn thẳng

cho các cạnh

v5

v7

v8

v3

v6

v4

Trang 5

Đồ thị có hướng

• Trong đồ thị có hướng, E là

một tập các cặp có thứ tự,

nhưng không nhất thiết là

tập đối xứng, tức là nếu cạnh

(v, w) có mặt thì cạnh (w, v)

có thể vắng mặt

• Đồ thị có hướng được vẽ bằng

các nút cho các đỉnh và các mũi

tên cho các cạnh

v5

v7

v8

v3

v6

v4

Trang 6

Đường đi và trọng số

• Đường đi là một dãy đỉnh w1, w2, …,

wn, trong đó có một cạnh giữa hai

đỉnh liên tiếp wi và wi+1

• Chiều dài của đường đi có n đỉnh

bằng n – 1 (số cạnh)

• Đường đi là đơn giản nếu tất cả các

đỉnh trên đường đi khác nhau (ngoại

trừ đỉnh đầu và đỉnh cuối có thể trùng

nhau)

• Các cạnh có thể có trọng số (hay chi

phí) kèm theo

• Chi phí của đường đi bằng tổng trọng

số của các cạnh trên đường đi đó

v5

v7

v8

v3

v6

v4 3

1 -1

4

Trang 7

Chu trình

• Chu trình là đường đi w1, w2, …, wn = w1, trong đó đỉnh đầu và đỉnh cuối trùng nhau

− Chu trình đơn giản nếu đường đi đó đơn giản

• Trong hình vẽ bên trên: v2, v8, v6, v3, v5, v2 là một chu trình (đơn

giản) trong đồ thị không có hướng, nhưng không phải như vậy trong

đồ thị có hướng

v5

v7

v8

v3

v6

v4

v5

v7

v8

v3

v6

v4

Trang 8

Đồ thị liên thông

• Đồ thị không có hướng là liên

thông nếu tồn tại đường đi giữa

mọi cặp đỉnh trong đồ thị đó

• Đồ thị có hướng thỏa mãn điều

kiện trên được gọi là liên thông

mạnh

• Nếu một đồ thị có hướng không

liên thông mạnh, nhưng đồ thị

không có hướng tương ứng liên

thông, thì được gọi là liên thông

yếu

v5

v7

v8

v3

v6

v4

liên thông yếu

v5

v7

v8

v3

v6

v4

liên thông mạnh

Trang 9

Biểu diễn đồ thị

• Đánh số các đỉnh trong đồ thị từ 0 đến n-1

• Có thể dùng mảng hai chiều A có kích thước n x n (ma trận

vuông cỡ n) để lưu trữ đồ thị có hướng

− Với đồ thị không có trọng số, A[v][w] bằng true hoặc false tùy theo cạnh (v, w) có mặt trong đồ thị hay không

− Với đồ thị có trọng số, A[v][w] bằng trọng số của cạnh (v, w) nếu cạnh đó có mặt, hoặc bằng một giá trị đặc biệt (như

) nếu cạnh đó vắng mặt

• Với đồ thị không có hướng, cách biểu diễn trên (được gọi là

biểu diễn ma trận kề) lưu trữ mỗi cạnh hai lần

• Biểu diễn ma trận kề yêu cầu không gian O(n2)

Trang 10

Ví dụ biểu diễn ma trận kề

v5

v7

v0

v3

v6

v4

0 1 2 3 4 5 6 7

4 F F F F F F F F

6 F F F F F F F F

Ngày đăng: 11/03/2021, 09:46

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w