Bài giảng Cấu trúc dữ liệu và giải thuật: Lý thuyết đồ thị - TS. Trần Ngọc Việt
Số trang: 31
Loại file: pdf
Dung lượng: 2.37 MB
Lượt xem: 11
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Lý thuyết đồ thị, được biên soạn gồm các nội dung chính sau: định nghĩa về đồ thị, cây; biểu diễn đồ thị trên máy tính; thuật toán đường đi ngắn nhất – dijkstra’s. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Lý thuyết đồ thị - TS. Trần Ngọc Việt 1. ĐỒ THỊ 1.Biểu diễn đồ thị trên máy tính +Định nghĩa 1: Đơn đồ thị vô hướng ? = (?, ?) bao gồm V là tập các đỉnh, E là tập các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh (không kể thứ tự) +Định nghĩa 2: Đơn đồ thị có hướng ? = (?, ?) bao gồm V là tập các đỉnh, E là tập các cặp có thứ tự gồm hai phần tử của V gọi là các cung (có thứ tự) +Xét đồ thị đơn vô hướng ? = (?, ?), với tập đỉnh ? = {1, 2, . . , ?}, tập cạnh ? = {?1 , ?2 , . . , ?? ). Ta gọi ma trận kề của đồ thị G là ma trận có các phần tử bằng 0 hoặc 1 ? = ??? : ??? = 1 ?ế? ?, ? ∈ ?, ??? = 0 ?ế? ?, ? ∉ ?; ?, ? = 1, 2, . . , ? . 2KHOA CÔNG NGHỆ THÔNG TIN 1. ĐỒ THỊ Ví dụ 1: (Hình 1) Hình trên là đồ thị G = (V, E), trong đó tập đỉnh là ? = {?1 , ?2 , ?3 , ?4 , ?5 , ?6 } Và tập các cạnh là ? = {?1 , ?2 , ?3 , ?4 , ?5 , ?6 , ?7 } Đường đi là dãy các đỉnh và các cạnh nối tiếp nhau. Độ dài đường đi là số các cạnh của nó. 3KHOA CÔNG NGHỆ THÔNG TIN 1. ĐỒ THỊ Ví dụ 2: cho đồ thị (Hình 1) trên dãy (?1 , ?1 , ?2 , ?4 , ?4 , ?7 , ?6 ) là đường đi từ ?1 đến ?6 có độ dài bằng 3. Ví dụ 3: cho đồ thị (Hình 1) trên dãy (?1 , ?1 , ?2 , ?4 , ?4 , ?3 , ?3 , ?2 , ?1 ) là chu trình từ ?1 quay về ?1 . Đồ thị G gọi là liên thông nếu giữa hai đỉnh bất kì bao giờ cũng tồn tại đường đi nối chúng với nhau. Đồ thị trên không liên thông vì từ ?5 không có đường đi đến các đỉnh khác. Đỉnh ?5 gọi là đỉnh cô lập. 4KHOA CÔNG NGHỆ THÔNG TIN 2. CÂY 2.Cây Cây là đồ thị liên thông không chứa chu trình (giữa 2 đỉnh bất kỳ của cây chỉ tồn tại một đường đi duy nhất nối chúng với nhau). Ví dụ 4: Một người tên A có ba con là B, C và D. B có hai con là E và F. C độc thân không có con. D có ba con là G, H và I. H có hai con là J và K. (Hình 2) 5KHOA CÔNG NGHỆ THÔNG TIN 2. CÂY +Gốc của cây là một đỉnh đặc biệt do người dùng ấn định, thông thường là đỉnh trên cùng của cây. +Cho T là cây có gốc ?0 . Giả sử x, y, z là các đỉnh trong T và (?0 , ?1 , . . , ?? ) là đường đi trong T. +Khi đó ta gọi ??−1 là cha của ?? , k =1, …, n. +?0 , ?1 , . . , ??−1 là tiền bối của ?? , k =1, …, n. +?? là con của ??−1 , k=1, …, n. + y là hậu thế của x, nếu x là tiền bối của y + y và z là anh em nếu chúng đều là con của đỉnh x +Nếu tập các nút rỗng ta có cây rỗng. +Một nút (không phải gốc) và các nút hậu thế của nó tạo thành cây gọi là cây con. +Bậc của nút là số nút con của nút đó. +Bậc của cây là bậc lớn nhất của các nút. Cây có bậc n gọi là cây n-phân. +Nút trong là nút có bậc > 0. +Nút ngoài (nút lá) là nút có bậc bằng 0. +Mức của nút gốc là 0. Các con của gốc có mức là 1. +Nếu một nút có mức m, thì các nút con của nó có mức là m+1. +Chiều cao (sâu) của cây là mức lớn nhất của các nút. 6KHOA CÔNG NGHỆ THÔNG TIN 3. BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH Ví dụ 1: Biểu diễn đồ thị vô hướng trong hình 1 dưới đây bằng ma trận kề Ví dụ 5: Biểu diễn đồ thị vô hướng trong hình sau bằng ma trận kề Hình 1: Đồ thị vô hướng G ma trận kề 7KHOA CÔNG NGHỆ THÔNG TIN 3. BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH Ví dụ 2: Biểu diễn đồ thị có hướng trong hình dưới đây bằng ma trận kề Hình 2: Đồ thị có hướng G 1 2 3 4 5 6 1 0 1 1 0 0 0 2 0 0 0 1 0 0 3 0 0 0 1 1 0 4 0 0 0 0 0 1 5 0 0 0 0 0 1 6 0 0 0 0 0 0 ma trận kề 8KHOA CÔNG NGHỆ THÔNG TIN 4. THUẬT 2.Thuật TOÁN ĐƯỜNG toán Dijkstra’s tìm đường ĐI NGẮN đi ngắn nhất NHẤT – ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Lý thuyết đồ thị - TS. Trần Ngọc Việt 1. ĐỒ THỊ 1.Biểu diễn đồ thị trên máy tính +Định nghĩa 1: Đơn đồ thị vô hướng ? = (?, ?) bao gồm V là tập các đỉnh, E là tập các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh (không kể thứ tự) +Định nghĩa 2: Đơn đồ thị có hướng ? = (?, ?) bao gồm V là tập các đỉnh, E là tập các cặp có thứ tự gồm hai phần tử của V gọi là các cung (có thứ tự) +Xét đồ thị đơn vô hướng ? = (?, ?), với tập đỉnh ? = {1, 2, . . , ?}, tập cạnh ? = {?1 , ?2 , . . , ?? ). Ta gọi ma trận kề của đồ thị G là ma trận có các phần tử bằng 0 hoặc 1 ? = ??? : ??? = 1 ?ế? ?, ? ∈ ?, ??? = 0 ?ế? ?, ? ∉ ?; ?, ? = 1, 2, . . , ? . 2KHOA CÔNG NGHỆ THÔNG TIN 1. ĐỒ THỊ Ví dụ 1: (Hình 1) Hình trên là đồ thị G = (V, E), trong đó tập đỉnh là ? = {?1 , ?2 , ?3 , ?4 , ?5 , ?6 } Và tập các cạnh là ? = {?1 , ?2 , ?3 , ?4 , ?5 , ?6 , ?7 } Đường đi là dãy các đỉnh và các cạnh nối tiếp nhau. Độ dài đường đi là số các cạnh của nó. 3KHOA CÔNG NGHỆ THÔNG TIN 1. ĐỒ THỊ Ví dụ 2: cho đồ thị (Hình 1) trên dãy (?1 , ?1 , ?2 , ?4 , ?4 , ?7 , ?6 ) là đường đi từ ?1 đến ?6 có độ dài bằng 3. Ví dụ 3: cho đồ thị (Hình 1) trên dãy (?1 , ?1 , ?2 , ?4 , ?4 , ?3 , ?3 , ?2 , ?1 ) là chu trình từ ?1 quay về ?1 . Đồ thị G gọi là liên thông nếu giữa hai đỉnh bất kì bao giờ cũng tồn tại đường đi nối chúng với nhau. Đồ thị trên không liên thông vì từ ?5 không có đường đi đến các đỉnh khác. Đỉnh ?5 gọi là đỉnh cô lập. 4KHOA CÔNG NGHỆ THÔNG TIN 2. CÂY 2.Cây Cây là đồ thị liên thông không chứa chu trình (giữa 2 đỉnh bất kỳ của cây chỉ tồn tại một đường đi duy nhất nối chúng với nhau). Ví dụ 4: Một người tên A có ba con là B, C và D. B có hai con là E và F. C độc thân không có con. D có ba con là G, H và I. H có hai con là J và K. (Hình 2) 5KHOA CÔNG NGHỆ THÔNG TIN 2. CÂY +Gốc của cây là một đỉnh đặc biệt do người dùng ấn định, thông thường là đỉnh trên cùng của cây. +Cho T là cây có gốc ?0 . Giả sử x, y, z là các đỉnh trong T và (?0 , ?1 , . . , ?? ) là đường đi trong T. +Khi đó ta gọi ??−1 là cha của ?? , k =1, …, n. +?0 , ?1 , . . , ??−1 là tiền bối của ?? , k =1, …, n. +?? là con của ??−1 , k=1, …, n. + y là hậu thế của x, nếu x là tiền bối của y + y và z là anh em nếu chúng đều là con của đỉnh x +Nếu tập các nút rỗng ta có cây rỗng. +Một nút (không phải gốc) và các nút hậu thế của nó tạo thành cây gọi là cây con. +Bậc của nút là số nút con của nút đó. +Bậc của cây là bậc lớn nhất của các nút. Cây có bậc n gọi là cây n-phân. +Nút trong là nút có bậc > 0. +Nút ngoài (nút lá) là nút có bậc bằng 0. +Mức của nút gốc là 0. Các con của gốc có mức là 1. +Nếu một nút có mức m, thì các nút con của nó có mức là m+1. +Chiều cao (sâu) của cây là mức lớn nhất của các nút. 6KHOA CÔNG NGHỆ THÔNG TIN 3. BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH Ví dụ 1: Biểu diễn đồ thị vô hướng trong hình 1 dưới đây bằng ma trận kề Ví dụ 5: Biểu diễn đồ thị vô hướng trong hình sau bằng ma trận kề Hình 1: Đồ thị vô hướng G ma trận kề 7KHOA CÔNG NGHỆ THÔNG TIN 3. BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH Ví dụ 2: Biểu diễn đồ thị có hướng trong hình dưới đây bằng ma trận kề Hình 2: Đồ thị có hướng G 1 2 3 4 5 6 1 0 1 1 0 0 0 2 0 0 0 1 0 0 3 0 0 0 1 1 0 4 0 0 0 0 0 1 5 0 0 0 0 0 1 6 0 0 0 0 0 0 ma trận kề 8KHOA CÔNG NGHỆ THÔNG TIN 4. THUẬT 2.Thuật TOÁN ĐƯỜNG toán Dijkstra’s tìm đường ĐI NGẮN đi ngắn nhất NHẤT – ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cấu trúc dữ liệu và giải thuật Cấu trúc dữ liệu Cấu trúc dữ liệu và giải thuật Lý thuyết đồ thị Thuật toán đường đi ngắn nhấtGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 316 0 0 -
Đề cương chi tiết học phần Lý thuyết đồ thị (Graph Theory)
13 trang 219 0 0 -
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 trang 163 0 0 -
3 trang 161 3 0
-
Giải thuật và cấu trúc dữ liệu
305 trang 159 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Trần Hạnh Nhi
123 trang 156 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 149 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 143 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 139 0 0 -
10 trang 138 0 0