Bài giảng Cấu trúc dữ liệu - Chương 6: Đồ thị
Số trang: 24
Loại file: ppt
Dung lượng: 347.00 KB
Lượt xem: 18
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nhằm giúp các bạn có thêm tài liệu phục vụ nhu cầu học tập và nghiên cứu về Công nghệ thông tin, mời các bạn cùng tham khảo nội dung "Bài giảng Cấu trúc dữ liệu - Chương 6: Đồ thị" dưới đây. Nội dung bài giảng cung cấp cho các bạn những kiến thức về đồ thị, khái niệm về đồ thị, biểu diễn đồ thị, phép duyệt đồ thị và tìm đường đi ngắn nhất. Hy vọng đây là tài liệu tham khảo hữu ích cho các bạn.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu - Chương 6: Đồ thịCHƯƠNG6ĐỒ THỊ 1 Chương6:Đồthị6.1Địnhnghĩavàcáckháiniệm6.2Biểudiễnđồthị6.3Phépduyệtđồthị6.4Tìmđườngđingắnnhất 26.1ĐịnhnghĩavàkháiniệmĐồthịlàmộtcấutrúcrờirạcgồmcácđỉnhvà cáccạnh(vôhướnghoặccóhướng)nốicác đỉnhđó.Nhiềubàitoánthuộcnhữnglĩnhvựcrấtkhác nhaucóthểgiảiđượcbằngmôhìnhđồthị: biểudiễnsựcạnhtranhcácloàitrongmột môitrườngsinhthái,haimáytínhcóđược nốivớinhaubằngmộtđườngtruyềnthông haykhông.tìmđườngđingắnnhấtgiữahai thànhphố,lậplịchthi,phânchiakênhcho cácđàitruyềnhình… 3 6.1ĐịnhnghĩavàkháiniệmKhimôhìnhhoábằngđồthị:đỉnhbiểuthị cácđốitượngđượcxemxét(người,tổ chức,địadanh,...),cạnhđồthịlànhững đoạnthẳng(hoặccong)haynhữngmũitên nốimộtsốđiểmvớinhau,tượngtrưng chomộtquanhệnàođógiữacácđối tượng.Cácloạiđồthị:MộtđơnđồthịG=(V,E)gồmmộttập khácrỗngVmàcácphầntửcủanógọilà cácđỉnhvàmộttậpElàcáccạnhgồmcác cặpkhôngcóthứtựcủacácđỉnhphân biệt. 4 6.1ĐịnhnghĩavàkháiniệmMộtđơnđồthịcóhướngG=(V,E)gồm mộttậpkhácrỗngVmàcácphầntửcủa nógọilàcácđỉnhvàmộttậpEcáccặpcó thứtựgồm2phầntửkhácnhaucủaV gọilàcáccung.MộtđađồthịG=(V,E)giốngnhưđơnđồ thị,cóthểcócạnhbội(cónhiềuhơnhai cạnhtươngứngvớimộtcặpđỉnh)và khuyên(cạnhnốiđỉnhvớichínhnó). 56.1Địnhnghĩavàkháiniệmv1 v2 v3v4 v5 v6 6 6.1ĐịnhnghĩavàkháiniệmCácthuậtngữvềđồthị:Haiđỉnhuvàvtrongđồthị(vôhướng)G=(V,E)được gọilàliềnkềnếu(u,v) E.Nếue=(u,v)thìegọilà cạnhliênthuộcvớicácđỉnhuvàv.Cạnhecũngđược gọilàcạnhnốicácđỉnhuvàv.Cácđỉnhuvàvgọilà cácđiểmđầumútcủacạnhe.BậccủađỉnhvtrongđồthịG=(V,E),kýhiệudeg(v),là sốcáccạnhliênthuộcvớinó.Khuyêntạimộtđỉnh đượctínhhailầnchobậccủanó.Đỉnhvgọilàđỉnhtreonếudeg(v)=1vàgọilàđỉnhcô lậpnếudeg(v)=0 76.1Địnhnghĩavàkháiniệmv1 v2 v3 v4v5 v6 v7 8 6.1ĐịnhnghĩavàkháiniệmBậcvào(t.ư.bậcra)củađỉnhvtrongđồthịcóhướng G,kýhiệudegt(v)(t.ư.dego(v)),làsốcáccungcóđỉnh cuối(đỉnhđầu)làv.Đỉnhcóbậcvàovàbậcracùngbằng0gọilàđỉnhcô lập.Đỉnhcóbậcvàobằng1vàbậcrabằng0gọilà đỉnhtreo,cungcóđỉnhcuốilàđỉnhtreogọilàcung treoChoG=(V,E)làmộtđồthịcóhướng.Khiđó deg t (v) deg o (v) | E | v V v V 9 6.2Biểudiễnđồthị621.Matrậnkề:Chođồthịvôhướng G=(V,E),v1,v2,...,vnlàcácđỉnhvàe1,e2,...,emlà cáccạnhcủaG.MatrậnkềcủaGlàmatrận A {( aij ) : i, j 1,2,..., n }aijbằng1nếucạnh(i,j) Evàbằng0nếungược lại.Rõràngmatrậnkềcủađồthịvôhướnglà đốixứng.Ngoàira,aijcóthểgánmộtsốnàođógọilàtrọng số.Lúcđó,tacómatrậntrọngsố.Nhượcđiểmlàluônphảidùngn2đơnvịbộnhớđể lưutrữmatrậnkề. 10 6.2Biểudiễnđồthị e6 v1 v2 v3 e3 e4 e1 e5 e20 0 0 1 1 v4 v50 0 1 1 10 1 0 0 11 1 0 0 01 1 0 1 0 Vídụ:Matrậnkềcủađồthị 11 6.2Biểudiễnđồthị622.Danhsáchkề:Mỗiđỉnhvcủađồthịcó danhsáchlưutrữcácđỉnhkềvớinó,kýhiệu Ke(v): Ke(v)={u V:(v,u) E}Ngườitacóthểdùngmảnghoặcdanhsáchliên kếtchoKe(v).Chúngtaphảidùngm+nđơnvị bộnhớđểlưutrữdanhsáchk e ề. 6 v1 v2 v3 e3 e4 e1 e5 e2 v4 v5 12 6.3DuyệtđồthịTìmkiếmtheochiềusâu:voidmain(){ forv Vdochuaxet[v]:=true;forv ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu - Chương 6: Đồ thịCHƯƠNG6ĐỒ THỊ 1 Chương6:Đồthị6.1Địnhnghĩavàcáckháiniệm6.2Biểudiễnđồthị6.3Phépduyệtđồthị6.4Tìmđườngđingắnnhất 26.1ĐịnhnghĩavàkháiniệmĐồthịlàmộtcấutrúcrờirạcgồmcácđỉnhvà cáccạnh(vôhướnghoặccóhướng)nốicác đỉnhđó.Nhiềubàitoánthuộcnhữnglĩnhvựcrấtkhác nhaucóthểgiảiđượcbằngmôhìnhđồthị: biểudiễnsựcạnhtranhcácloàitrongmột môitrườngsinhthái,haimáytínhcóđược nốivớinhaubằngmộtđườngtruyềnthông haykhông.tìmđườngđingắnnhấtgiữahai thànhphố,lậplịchthi,phânchiakênhcho cácđàitruyềnhình… 3 6.1ĐịnhnghĩavàkháiniệmKhimôhìnhhoábằngđồthị:đỉnhbiểuthị cácđốitượngđượcxemxét(người,tổ chức,địadanh,...),cạnhđồthịlànhững đoạnthẳng(hoặccong)haynhữngmũitên nốimộtsốđiểmvớinhau,tượngtrưng chomộtquanhệnàođógiữacácđối tượng.Cácloạiđồthị:MộtđơnđồthịG=(V,E)gồmmộttập khácrỗngVmàcácphầntửcủanógọilà cácđỉnhvàmộttậpElàcáccạnhgồmcác cặpkhôngcóthứtựcủacácđỉnhphân biệt. 4 6.1ĐịnhnghĩavàkháiniệmMộtđơnđồthịcóhướngG=(V,E)gồm mộttậpkhácrỗngVmàcácphầntửcủa nógọilàcácđỉnhvàmộttậpEcáccặpcó thứtựgồm2phầntửkhácnhaucủaV gọilàcáccung.MộtđađồthịG=(V,E)giốngnhưđơnđồ thị,cóthểcócạnhbội(cónhiềuhơnhai cạnhtươngứngvớimộtcặpđỉnh)và khuyên(cạnhnốiđỉnhvớichínhnó). 56.1Địnhnghĩavàkháiniệmv1 v2 v3v4 v5 v6 6 6.1ĐịnhnghĩavàkháiniệmCácthuậtngữvềđồthị:Haiđỉnhuvàvtrongđồthị(vôhướng)G=(V,E)được gọilàliềnkềnếu(u,v) E.Nếue=(u,v)thìegọilà cạnhliênthuộcvớicácđỉnhuvàv.Cạnhecũngđược gọilàcạnhnốicácđỉnhuvàv.Cácđỉnhuvàvgọilà cácđiểmđầumútcủacạnhe.BậccủađỉnhvtrongđồthịG=(V,E),kýhiệudeg(v),là sốcáccạnhliênthuộcvớinó.Khuyêntạimộtđỉnh đượctínhhailầnchobậccủanó.Đỉnhvgọilàđỉnhtreonếudeg(v)=1vàgọilàđỉnhcô lậpnếudeg(v)=0 76.1Địnhnghĩavàkháiniệmv1 v2 v3 v4v5 v6 v7 8 6.1ĐịnhnghĩavàkháiniệmBậcvào(t.ư.bậcra)củađỉnhvtrongđồthịcóhướng G,kýhiệudegt(v)(t.ư.dego(v)),làsốcáccungcóđỉnh cuối(đỉnhđầu)làv.Đỉnhcóbậcvàovàbậcracùngbằng0gọilàđỉnhcô lập.Đỉnhcóbậcvàobằng1vàbậcrabằng0gọilà đỉnhtreo,cungcóđỉnhcuốilàđỉnhtreogọilàcung treoChoG=(V,E)làmộtđồthịcóhướng.Khiđó deg t (v) deg o (v) | E | v V v V 9 6.2Biểudiễnđồthị621.Matrậnkề:Chođồthịvôhướng G=(V,E),v1,v2,...,vnlàcácđỉnhvàe1,e2,...,emlà cáccạnhcủaG.MatrậnkềcủaGlàmatrận A {( aij ) : i, j 1,2,..., n }aijbằng1nếucạnh(i,j) Evàbằng0nếungược lại.Rõràngmatrậnkềcủađồthịvôhướnglà đốixứng.Ngoàira,aijcóthểgánmộtsốnàođógọilàtrọng số.Lúcđó,tacómatrậntrọngsố.Nhượcđiểmlàluônphảidùngn2đơnvịbộnhớđể lưutrữmatrậnkề. 10 6.2Biểudiễnđồthị e6 v1 v2 v3 e3 e4 e1 e5 e20 0 0 1 1 v4 v50 0 1 1 10 1 0 0 11 1 0 0 01 1 0 1 0 Vídụ:Matrậnkềcủađồthị 11 6.2Biểudiễnđồthị622.Danhsáchkề:Mỗiđỉnhvcủađồthịcó danhsáchlưutrữcácđỉnhkềvớinó,kýhiệu Ke(v): Ke(v)={u V:(v,u) E}Ngườitacóthểdùngmảnghoặcdanhsáchliên kếtchoKe(v).Chúngtaphảidùngm+nđơnvị bộnhớđểlưutrữdanhsáchk e ề. 6 v1 v2 v3 e3 e4 e1 e5 e2 v4 v5 12 6.3DuyệtđồthịTìmkiếmtheochiềusâu:voidmain(){ forv Vdochuaxet[v]:=true;forv ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu chương 6 Khái niệm đồ thị Biểu diễn đồ thị Phép duyệt đồ thịGợ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 318 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 162 0 0 -
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 7 - Nguyễn Khánh Phương
214 trang 160 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 150 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 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 124 0 0 -
Bài giảng Toán rời rạc: Chương 5 - Nguyễn Quỳnh Diệp
84 trang 79 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 3 - Một số mô hình thuật toán
42 trang 74 0 0