Giáo trình thuật toán phần 3
➤ Gửi thông báo lỗi ⚠️ Báo cáo tài liệu vi phạmNội dung chi tiết: Giáo trình thuật toán phần 3
Giáo trình thuật toán phần 3
VI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 lình vực này. Có hàng trâm bài toán điện toán đáng quan lâm dược dịnh nghĩa theo dạng dồ thị. I rong phần này. ta dể cập một sô bài toán quan irọng.Chương 23 nêu cách biêu diễn một đổ thị trên một máy tính rói mô lả các thuật toán dựa trên việc lìm kiêm trong một đồ ihị bang phương pháp lìm kiêm độ Giáo trình thuật toán phần 3 rộng đầu liên hoặc tìm kiêm độ sâu đầu liên. Ta sè mũ tâ hai ứng dung của phương pháp lìm kiêm độ sâu dầu liên: sáp \êp theo lôpô một dỗ thị phi chu tGiáo trình thuật toán phần 3
rình có hướng và phân lích một đồ thị co hương thành các thành phần liên thòng mạnh của nó.Chương 24 mô lâ cách tính một cây tỏa nhánh có trọng số cựcVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 g số kêt hựp. Các thuật loán dê tính toán các cây tỏa nhánh cực liêu lã những ví dụ tốt về các thuật toán tham (xem Chương 17).Các chương 25 và 26 sè xét bài loán tinh các lộ trình ngán nhât giữa các đỉnh khi mỗi cạnh có một chiêu dài hoặc “trọng sô" két hợp. Chương 25 xem xét cách linh các lộ trình Giáo trình thuật toán phần 3 ngán nhât lừ một đỉnh nguồn dã cho đốn lít cả cãc (tinh khác, và (’hương 26 giải thích cách tính các lộ (lình ngắn nhài giữa moi cấp đính.Cuối cùng.Giáo trình thuật toán phần 3
Chương 27 nêu cách lính loán một luồng vật liêu cực đai trong một mang (dồ thị có hương) có một nguồn vật liệu đãđịnh. một hồn dàdmh. và các dung lượnVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 nh loán các luồng cực dại nhàm giài quvcỉ hiệu quà nhiều bài loán có lien quan.Trong khi mò tà ihơi gian thực hiện cùa một thuật toán dồ (lạ trẽi-. một đó thị dã cho G = (V. /:). la thường do kích cơ nhập liệu (heo dạng số lượng các đỉnh I VI và sô' lượng các cạnh I /: i cùa đồ thị. Nghĩa la. coÕ20 Giáo trình thuật toán phần 3 Phún VỊ Thuật Toàn f)ú Thihai tham số liên quan mô lả kích cờ nhập liệu, chứ không chí mộl. Ta châp nhận một quy ước ký hiệu chung cho các tham sô nàyGiáo trình thuật toán phần 3
. Bên trong hẹ ký hiệu liẹm cận (như hệ ký hiệu () hoặc 0). và chí hên trong hệ ký hiệu đó. ký hiệu V mới (he hiện I vl và ký hiộu E (hể hiện I EI. ViVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 (hời gian thực hiện de dọc hơn. mà không bị lôi nghĩa.MỘI quy ườc khác ma la chap nhận xuất hiện trong mà giả. Ta thể hiộn lạp hợp đĩnh của một dồ Ihị (J bàng VỊG| và lập hợp cạnh của nó bằng E|G|. Nghĩa là. mã giâ xem các lập hợp dỉnh và cạnh như là các thuộc lính của một dồ thị.23 Các Thuật Toán Đ Giáo trình thuật toán phần 3 ồ Thị Căn BảnChương này trình bày các phương pháp để biểu thị một đồ thị và để lìm kiêm trong đồ thị. lìm kiếm trong một đồ thị có nghĩa là theo các cGiáo trình thuật toán phần 3
ạnh đồ thị một cách có hẹ thống để ghé thãin các đỉnh của đồ thị. Một thuật toán tìm kiếm đồ thị có thể khám phá nhiều về cấu trúc cùa môt đồ thị. NhiVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 ưới dạng CỊI the hóa đơn giản các thuật toán ùm kiếm đồ thị cơ bản. Các kỳ thuật đê tìm kiêm trong một đó thị là trung tâm của lĩnh vực các thuật toán đồ thị.Đoạn 23.imô tả hai phép biểu diền tính toán thông dụng nhâì của đồ thị: dứới dang các danh sách kề và các ma trận kề. Đoạn 23.2 trình bày một Giáo trình thuật toán phần 3 thuật toán tìm kiếm đồ thị đơn giản có lên tìm kiếm độ rộng dạU tiên và nêu cách tạo một cây độ rộng dầu liên. Đoạn 23.3 trình bày thuật toán lìm kiếmGiáo trình thuật toán phần 3
độ sâu đầu tiên và chứng minh vài kết quâ chuẩn về thứ tự ở đó thuật toán lìm kiếm độ sâu dầu tiên ghé thăm các đỉnh. Đoạn 23.4 cung câp ứng dụng thựVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 liên: lìm các thành phẩn liên thông mạnh của một đổ thị có hướng.23.1 Các phép biểu diễn của đồ thị('ó hai cách chuẩn để hièu diễn một đồ thị G = ( V, /:): dưới dạng một tập hợp các danh sách kẽ hoặc một ma trận kề. Phcp bicu diển danh sách kề thường được ưa dùng, bởi nó cung cap một cách nén gọn đ Giáo trình thuật toán phần 3 ể biểu diều các đồ thị thưa [sparse graph!—là nhừng đồ thị mà I E I nhỏ hơn nhiều so với I v|2. Hầu hết các thuật toán dồ thị trình bày trong cuốn sácGiáo trình thuật toán phần 3
h này mặc nhận một đồ thị nhập liệu được biểu thị theo dạng danh sách kề. Tuy nhiên, phép biểu diễn ma trận kề có thể được ưa dùng khi đồ thị là trù mVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 a chúng dược biểu thị bởi các ma trận kề.Phép biếu diều danh sách kề [adjacency-list representation! của một đồ thị G = ( V, E) bao gồm một mảng Adj gồm I V' I danh sách, một cho từng đỉnh trong V. vơi lừng u € V, danh sách kề Adịịiỉ] chứa (trỏ dên) lất cả các đỉnh V sao cho có một cạnh (M. v) e E. Giáo trình thuật toán phần 3 Nghía là, Ac//[//J bao gôm tâ'( cả các đỉnh kề với u trong G. Các đỉnh trong mồi danh sách kề thường dược lưu trữ theo thứ tự tùy ý. Hình 23.1(b) là mGiáo trình thuật toán phần 3
ột phép biếu diễn danh sách kề của đồ thị không có hướng trong Hình 23.1(a). Cũng vậy, Hình 23.2(b) là một phcp biểu diễn danh sách kề của đồ thị có hVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 ép biêu diễn danh sách kề cùa G. (c) Phép biểu diễn ma trận kề của G.(a)(b)Hình 23.2 Hai phép biểu diẻn của một đồ thi cơ hương, (a) MỘI dồ thi c<» hương G có sáu đỉnh và tám cạnh, (h) Một phép biếu diễn danh sách kề cua G. (c) Phép biểu die lì ma trận kề của G.Neu G là một dồ thị có hương, tổng các Giáo trình thuật toán phần 3 chiều dùi của lâì cả các danh sách kề là I EI. bởi một cạnh của dạng (n. V) dược biểu thị bang cách đê V xuất hiện trong Adj[u]. Nếu G là một dồ thịGiáo trình thuật toán phần 3
không có hương, lòng các chiều dài của tâì cả các danh sách kề là 2| eI . bởi nếu (tt. V) là một cạnh không có hướng, thì u xuất hiện trong danh sách VI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 ( V. /j)23.ỉ Các phép biêu dìẻn của đồ thị523trọng SÔ (weighted graphs], nghĩa là. đồ thị mà mỗi cạnh có một trọng sô' kếỉ hợp. thường được cung cấp bởi một hàm trụng số w : E—> R. Ví dụ. cho G = (V. £■) là một đồ thị gia trọng với hàm trọng số vv. Trọng số H’(u.v) của cạnh (u,v) € E đơn giản được l Giáo trình thuật toán phần 3 ưu trữ với đỉnh V trong danh sách kề của li. Phép biểu diễn danh sách kề tỏ ra khá cường tráng ở chồ nó có thể được sửa đổi để hỗ trự nhiều biến thứcGiáo trình thuật toán phần 3
dồ thị khác.Một nhược điểm tiềm ân của phép biểu diễn danh sách kể đó là dể xác định xem một cạnh đà cho ịut V) có hiện diện trong đồ thị hay không, tVI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho l Giáo trình thuật toán phần 3 để đổi lại ta phải dùng nhiều bộ nhớ hơn theo tiệm cận.Vơi phép biền diễn ma trận kề của một đồ thị G = í V, E). ta mặc nhận các đỉnh đưực đánh số I. 2.I VI theo một kiểu tùy ý. Như vậy, phépbiểu diễn ma trận kề của một đồ thị G bao gồm một ma trận I VI X I VIA = (a ) sao cho Giáo trình thuật toán phần 3 VI Thuật Toán Đồ ThịMớ (lầuDồ ihị là một cấu trúc dữ liệu phổ biến trong khoa học máy lính, vù các thuật loàn dể làm việc vời chúng là cần thiết cho lGọi ngay
Chat zalo
Facebook