Cấu trúc dữ liệu và giải thuật (Đỗ Tuấn Anh) - Chương 6. Đồ thị và một vài cấu trúc phi tuyến khác
lượt xem 46
download
Danh sách kề là một mảng A[0..n-1] các danh sách, với n là số đỉnh của đồ thị.Chỉ số của mảng tương ứng với chỉ số của đỉnh.Mỗi danh sách A[i] lưu trữ các chỉ số của các đỉnh kề với đỉnh i.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Cấu trúc dữ liệu và giải thuật (Đỗ Tuấn Anh) - Chương 6. Đồ thị và một vài cấu trúc phi tuyến khác
- Cấu trúc dữ liệu và giải thuật Đỗ Tuấn Anh anhdt@it-hut.edu.vn
- Nội dung Chương 1 – Thiết kế và phân tích (5 tiết) Chương 2 – Giải thuật đệ quy (10 tiết) Chương 3 – Mảng và danh sách (5 tiết) Chương 4 – Ngăn xếp và hàng đợi (10 tiết) Chương 5 – Cấu trúc cây (10 tiết) Chương 8 – Tìm kiếm (5 tiết) Chương 7 – Sắp xếp (10 tiết) Chương 6 – Đồ thị và một vài cấu trúc phi tuyến khác (5 tiết) Chương 9 – Sắp xếp và tìm kiếm ngoài (after)
- Chương 6 – Đồ thị và một vài cấu trúc phi tuyến khác 1. Định nghĩa và khái niệm 2. Biểu diễn đồ thị • Ma trận lân cận • Danh sách lân cận 3. Phép duyệt đồ thị • Theo chiều sâu • Theo chiều rộng 4. Ứng dụng • Bài toán bao đóng truyền ứng • Bài toán sắp xếp topo 5. Giới thiệu về danh sách tổng quát, đa danh sách (not yet)
- 1. Định nghĩa và khái niệm
- Đồ thị Một đồ thị G bao gồm một tập V(G) các đỉnh (nút) và một tập E(G) các cạnh (cung) là các cặp đỉnh. đỉnh a b c d cạnh e f g h i j k l 12 đỉnh V = { a, b, c, d, e, f, g, h, i, j, k, l } E = { (a, b), (a, e), (b, e), (b, f), (c, j), (c, g), (c, h), (d, h), (e, j), (g, k), (g, l), (g, h), (i, j) } 13 cạnh
- Đồ thị định hướng Trong đồ thị định hướng (digraph), các cạnh là những cặp có thứ tự. TW 45 BOS NW 35 ORD DL 247 SFO JFK AA 903 DL 335 UA 877 AA 1387 0 12 MIA UA AA 49 AA 523 LAX DFW AA 411
- Ứng dụng của đồ thị Đồ thị mô tả các mối quan hệ Mạng Internet Mạng lưới đường giao thông Nguyên tử Sơ đồ cấu trúc điều khiển Mạng lưới xã hội George Paul Linda Ringo Yoko John Bề mặt địa lý (CAD) Mạch điện …
- Các loại đồ thị khác Đa đồ thị cho phép có thể có nhiều cạnh giữa 2 đỉnh. a c b d f Giả đồ thị là một đa đồ thị cho phép vòng lặp (là các cạnh từ một đỉnh đến chính nó). 2 1 3 5 6 4
- Cạnh và Đỉnh bậc(w) = 1 w e2 u u và v gọi là lân cận của nhau hay kề nhau (adjacent) bậc(u) = 2 e1 v bậc vào(b) = 3 bậc ra(b) = 4 c đỉnh nguồn b a e đỉnh đích d
- Đường đi Một đường đi có độ dài k là một chuỗi các đỉnh v , v , …, v k mà 0 1 (vi , vi+1 ) với i = 0, 1, …, k – 1 là cạnh của G. b, c, d không phải đường đi a b c d Đường đi đơn: a, e, k, p, l, q m, h, d, c, g e f h g (không có đỉnh Không phải đường đi đơn: lặp lại) a, b, e, f, g, b, g, l m j k l p q n o
- Chu trình Một chu trình là một đường đi có đỉnh đầu và đỉnh cuối trùng nhau. Một chu trình đơn không có đỉnh trùng nhau trừ đỉnh đầu và đỉnh cuối. a b c d e f h g m j k l k, j, n, k, p, o,k không phải chu trình đơn. p q n o
- Đồ thị con Một đồ thị con H của G là một đồ thị; các cạnh và các đỉnh của nó là tập con của G. a b c d e f h g m j k l p q n o V(H) = {b, d, e, f, g, h, l, p, q} E(H) = {(b, e), (b, g), (e, f), (d, h), (l, p), (l, q)}
- Liên thông G được gọi là liên thông nếu giữa mọi cặp đỉnh của G đều có 1 đường đi.. a d b c f e Nếu G là không liên thông, các đồ thị con liên thông lớn nhất được gọi là các thành phần liên thông của G. C3 C2 a d e f g C1 b c
- Cây có phải là liên thông? Có, và | E | = | V | – 1. #số cạnh #số đỉnh Nếu G là liên thông, thì | E | ≥ | V | – 1.
- Đồ thị có trọng số VD. Mạng lưới giao thông 9 km B C 8 km 10 km 5 km 21 km A F D 19 km 7 km 12 km 6 km H G E 2 km
- 2. Biểu diễn đồ thị 2 cách biểu diễn đồ thị phổ biến. 1. Ma trận kề (Adjacency Matrix) Sử dụng một ma trận 2 chiều 2. Danh sách kề (Adjacency List) Sử dụng một mảng của danh sách móc nối
- Ma trận kề bool A [n][n]; nếu (i, j) ∈ E(G) 1 1 A[i][j] = 0 ngược lại 0 2 0 1 2 3 4 0 4 3 0 1 1 0 1 1 1 0 1 0 0 2 1 1 0 1 1 3 0 0 1 0 1 4 1 0 1 1 0 O(|V|2 ). Đồ thị không định hướng Lưu trữ: Thường được sử dụng với đồ thị nhỏ, không hiệu quả với đồ thị có ít cạnh
- Danh sách kề Đỉnh Tập các đỉnh kề B A B2 C5 E7 2 6 B A2 C6 5 A C A5 B6 D 10 E3 C 3 7 10 C 10 E2 D E D 2 A7 C3 D2 E • Danh sách kề là một mảng A[0..n-1] các danh sách, với n là số đỉnh của đồ thị. • Chỉếsố củđịnhảng ng, tổng ứộ dài ớia tấỉ cả danh sách kề = | E |. N u G là a m hướ tương đ ng v củ cht số của đỉnh • Mỗi u G không định hướng,trổng độ chỉlà ố |cE |. các đỉnh kề với Nế danh sách A[i] lưu t ữ các dài s 2 ủa đỉnh i. phí bộ nhớ: O(|V| + |E|). (Tốn ít bộ nhớ hơn). Chi
- Ví dụ 0123456789 0 00000000010 8 10011000101 20100100010 2 9 30100110000 1 40011000000 7 3 50001001000 6 4 60000010100 5 70100001000 81010000001 90100000010
- Ví dụ 8 0 0 2379 1 8 2 148 3 145 2 9 4 23 1 5 36 7 3 57 6 6 4 7 16 5 8 029 9 18
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình cấu trúc dữ liệu và giải thuât part 1
16 p | 825 | 365
-
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 p | 551 | 286
-
Bài giảng Cấu trúc dữ liệu - Bài 1:Tổng quan về cấu trúc dữ liệu và giải thuật
47 p | 175 | 17
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 1: Các khái niệm cơ bản về Cấu trúc dữ liệu và giải thuật
20 p | 44 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên
25 p | 81 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các cấu trúc dữ liệu
193 p | 58 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (Trường Đại học Hồng Bàng )
62 p | 159 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (2016)
62 p | 94 | 6
-
Giáo trình Cấu trúc dữ liệu và giải thuật - CĐ Nghề Đắk Lắk
60 p | 45 | 6
-
Giáo trình Cấu trúc dữ liệu và giải thuật (Ngành: Công nghệ thông tin - Cao đẳng) - Trường Cao đẳng Xây dựng số 1
77 p | 12 | 5
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Chương 1: Tổng quan về giải thuật và cấu trúc dữ liệu
10 p | 66 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 – Trần Minh Thái (2017)
67 p | 106 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 1: Một số khái niệm cơ bản về cấu trúc dữ liệu và giải thuật
12 p | 91 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Tổng quan - Nguyễn Đức Cương
6 p | 99 | 4
-
Giáo trình Cấu trúc dữ liệu và giải thuật (Nghề: Công nghệ thông tin - Trung cấp) - Trường Trung cấp Công nghệ và Du lịch Hà Nội
59 p | 15 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Th.S Thiều Quang Trung
41 p | 68 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 1: Cấu trúc dữ liệu và giải thuật
42 p | 55 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Ngô Quang Thạch
49 p | 63 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn