Bài giảng Phân tích thiết kế thuật toán: Chương 4 - Nguyễn Văn Linh
Số trang: 53
Loại file: ppt
Dung lượng: 1.07 MB
Lượt xem: 18
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Phân tích thiết kế thuật toán - Chương 4: Cấu trúc dữ liệu và giải thuật lưu trữ ngoài" cung cấp cho người học các kiến thức: Mục tiêu, mô hình và đánh giá các xử lý ngoài, sắp xếp ngoài, lưu trữ thông tin trong tập tin. 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 Phân tích thiết kế thuật toán: Chương 4 - Nguyễn Văn Linh CHƯƠNG4: CẤUTRÚCDỮLIỆUVÀ GIẢITHUẬTLƯUTRỮNGOÀI NguyễnVănLinh KhoaCôngnghệThôngtin&Truyềnthông ĐẠIHỌCCẦNTHƠ nvlinh@cit.ctu.edu.vnNguyễn Văn Linh NỘIDUNG• Mụctiêu.• Môhìnhvàđánhgiácácxửlýngoài.• Sắpxếpngoài.• Lưutrữthôngtintrongtậptin: – Tậptintuầntự – Tậptinbảngbăm – Tậptinchỉmục – TậptinBcâyNguyễn Văn Linh MỤCTIÊU • Biếtmôhìnhxửlýngoài. • Hiểutiêuchuẩnđểđánhgiágiảithuậtxửlý ngoài.Vậndụngtrongviệccảitiếngiảithuậtxử lýngoài. • Hiểugiảithuậtsắpxếptrộnđểsắpxếpngoàivà phươngphápcảitiếntốcđộsắpxếptrộn. • Hiểucáchthứctổchứclưutrữvàcácgiảithuật tìmkiếm,xen,xoáthôngtintrêncáctậptintuần tự,tậptinchỉmục,tậptinbảngbăm. • Vậndụngđượccáchthứctổchứclưutrữvàcác giảithuậttìmkiếm,xen,xoáthôngtintrêntậptin Bcây.Nguyễn Văn Linh Tạisaophảixửlíngoài• Trongcácgiảithuậtmàchúngtađãđềcậptừtrướctớinay, chúngtađãgiảsửrằngsốlượngcácdữliệuvàolàkhánhỏ đểcóthểchứahếtởbộnhớtrong(mainmemory).• Nhưngđiềugìsẽxảyranếutamuốnxửlýphiếuđiềutra dânsốtoànquốchaythôngtinvềquảnlýđấtđaicảnước chẳnghạn?• Trongcácbàitoánnhưvậy,sốlượngdữliệuvượtquákhả nănglưutrữcủabộnhớtrong.• Ðểcóthểgiảiquyếtcácbàitoánđóchúngtaphảidùngbộ nhớngoàiđểlưutrữvàxửlý.• Cácthiếtbịlưutrữngoàinhưbăngtừ,đĩatừđềucókhả nănglưutrữlớnnhưngđặcđiểmtruynhậphoàntoànkhác vớibộnhớtrong.• Chúngtacầntìmcáccấutrúcdữliệuvàgiảithuậtthíchhợp choviệcxửlýdữliệulưutrữtrênbộnhớngoài Nguyễn Văn Linh Môhìnhxửlíngoài• Hệđiềuhànhchiabộnhớngoàithànhcáckhối(block)cókíchthướcbằng nhau,kíchthướcnàythayđổitùythuộcvàohệđiềuhànhnhưngnóichung làtừ512bytesđến4096bytes.• Cóthểxemmộttậptinbaogồmnhiềumẩutinđượclưutrongcáckhối.• Mỗikhốilưumộtsốnguyênvẹncácmẩutin.• Kiểudữliệutậptinlàkiểuthíchhợpnhấtchoviệcbiểudiễndữliệu đượclưutrongbộnhớngoài. Ghi Ghi Bộnhớ Bộ nhớ Bộnhớ trong đệm ngoài Đọc Đọc Mỗilầntruyxuất1mẩutin Mỗilầntruyxuất1khối Nguyễn Văn Linh Đánhgiácácgiảithuậtxửlýngoài• Ðốivớibộnhớngoàithìthờigiantìmmộtkhốiđểđọc vàobộnhớtronglàrấtlớnsovớithờigianthaotáctrêndữ liệutrongkhốiđó.• Chúngtatậptrungvàoviệcxétsốlầnđọckhốivàobộ nhớtrongvàsốlầnghikhốirabộnhớngoài,tagọichung làphéptruyxuấtkhối(blockaccess).• Nếusốlầntruyxuấtkhốiítthìgiảithuậtcóhiệuquả.• Đểcảitiếngiảithuật,takhôngthểtìmcáchtăngkích thướcmộtkhối(Vìkíchthướccáckhốilàcốđịnh)mà chúngtaphảitìmcáchgiảmsốlầntruyxuấtkhối.Nguyễn Văn Linh Sắpxếpngoài• Sắpxếpngoàilàsắpxếpdữliệuđượctổchức thànhmộttậptinlưutrongbộnhớngoài.• Mỗitậptinbaogồmnhiềumẩutin,mỗimẩutin baogồmnhiềutrường,trongđócómộttrường khoá.• Tươngtựnhưsắpxếptrong,sắpxếpngoàilàsự tổchứclạicácmẩutinsaochocáckhóacủa chúngđượcsắpthứtựtươngứngvớiquyluật sắpxếp.Nguyễn Văn Linh Sắpxếptrộn: Kháiniệmvềđường• Ðườngđộdàiklàmộttậphợpkmẩutinđãđượcsắpthứtự theokhoá.• Chotậptinchứacácmẩutinr1,r2,...,rn,tanóitậptinđượctổ chứcthànhđườngcóđộdàiknếutachiatậptinthànhcác đoạnkmẩutinliêntiếpvàmỗiđoạnlàmộtđường,đoạn cuốicóthểkhôngcóđủkmẩutin,trongtrườnghợpnàyta gọiđoạnấylàđuôi(tail).• Vídụ:Tậptingồm14mẩutincókhóalàcácsốnguyên đượctổchứcthành4đườngđộdài3vàmộtđuôicóđộdài2 5 6 9 13 26 27 1 5 8 12 14 17 23 25 Nguyễn Văn Linh Sắpxếptrộn:Giảithuật• ÐểsắpxếptậptinFcónmẩutintasửdụng4tậptinF1,F2, G1vàG2.• PhânphốicácmẩutincủatậptinđãchoFluânphiênvàotrong haitậptinF1F2.Nhưvậyhaitậptinnàyxemnhưđượctổ chứcthànhcácđườngđộdài1.• Bước1:Ðọc2đường,mỗiđườngđộdài1từh ...
Nội dung trích xuất từ tài liệu:
Bài giảng Phân tích thiết kế thuật toán: Chương 4 - Nguyễn Văn Linh CHƯƠNG4: CẤUTRÚCDỮLIỆUVÀ GIẢITHUẬTLƯUTRỮNGOÀI NguyễnVănLinh KhoaCôngnghệThôngtin&Truyềnthông ĐẠIHỌCCẦNTHƠ nvlinh@cit.ctu.edu.vnNguyễn Văn Linh NỘIDUNG• Mụctiêu.• Môhìnhvàđánhgiácácxửlýngoài.• Sắpxếpngoài.• Lưutrữthôngtintrongtậptin: – Tậptintuầntự – Tậptinbảngbăm – Tậptinchỉmục – TậptinBcâyNguyễn Văn Linh MỤCTIÊU • Biếtmôhìnhxửlýngoài. • Hiểutiêuchuẩnđểđánhgiágiảithuậtxửlý ngoài.Vậndụngtrongviệccảitiếngiảithuậtxử lýngoài. • Hiểugiảithuậtsắpxếptrộnđểsắpxếpngoàivà phươngphápcảitiếntốcđộsắpxếptrộn. • Hiểucáchthứctổchứclưutrữvàcácgiảithuật tìmkiếm,xen,xoáthôngtintrêncáctậptintuần tự,tậptinchỉmục,tậptinbảngbăm. • Vậndụngđượccáchthứctổchứclưutrữvàcác giảithuậttìmkiếm,xen,xoáthôngtintrêntậptin Bcây.Nguyễn Văn Linh Tạisaophảixửlíngoài• Trongcácgiảithuậtmàchúngtađãđềcậptừtrướctớinay, chúngtađãgiảsửrằngsốlượngcácdữliệuvàolàkhánhỏ đểcóthểchứahếtởbộnhớtrong(mainmemory).• Nhưngđiềugìsẽxảyranếutamuốnxửlýphiếuđiềutra dânsốtoànquốchaythôngtinvềquảnlýđấtđaicảnước chẳnghạn?• Trongcácbàitoánnhưvậy,sốlượngdữliệuvượtquákhả nănglưutrữcủabộnhớtrong.• Ðểcóthểgiảiquyếtcácbàitoánđóchúngtaphảidùngbộ nhớngoàiđểlưutrữvàxửlý.• Cácthiếtbịlưutrữngoàinhưbăngtừ,đĩatừđềucókhả nănglưutrữlớnnhưngđặcđiểmtruynhậphoàntoànkhác vớibộnhớtrong.• Chúngtacầntìmcáccấutrúcdữliệuvàgiảithuậtthíchhợp choviệcxửlýdữliệulưutrữtrênbộnhớngoài Nguyễn Văn Linh Môhìnhxửlíngoài• Hệđiềuhànhchiabộnhớngoàithànhcáckhối(block)cókíchthướcbằng nhau,kíchthướcnàythayđổitùythuộcvàohệđiềuhànhnhưngnóichung làtừ512bytesđến4096bytes.• Cóthểxemmộttậptinbaogồmnhiềumẩutinđượclưutrongcáckhối.• Mỗikhốilưumộtsốnguyênvẹncácmẩutin.• Kiểudữliệutậptinlàkiểuthíchhợpnhấtchoviệcbiểudiễndữliệu đượclưutrongbộnhớngoài. Ghi Ghi Bộnhớ Bộ nhớ Bộnhớ trong đệm ngoài Đọc Đọc Mỗilầntruyxuất1mẩutin Mỗilầntruyxuất1khối Nguyễn Văn Linh Đánhgiácácgiảithuậtxửlýngoài• Ðốivớibộnhớngoàithìthờigiantìmmộtkhốiđểđọc vàobộnhớtronglàrấtlớnsovớithờigianthaotáctrêndữ liệutrongkhốiđó.• Chúngtatậptrungvàoviệcxétsốlầnđọckhốivàobộ nhớtrongvàsốlầnghikhốirabộnhớngoài,tagọichung làphéptruyxuấtkhối(blockaccess).• Nếusốlầntruyxuấtkhốiítthìgiảithuậtcóhiệuquả.• Đểcảitiếngiảithuật,takhôngthểtìmcáchtăngkích thướcmộtkhối(Vìkíchthướccáckhốilàcốđịnh)mà chúngtaphảitìmcáchgiảmsốlầntruyxuấtkhối.Nguyễn Văn Linh Sắpxếpngoài• Sắpxếpngoàilàsắpxếpdữliệuđượctổchức thànhmộttậptinlưutrongbộnhớngoài.• Mỗitậptinbaogồmnhiềumẩutin,mỗimẩutin baogồmnhiềutrường,trongđócómộttrường khoá.• Tươngtựnhưsắpxếptrong,sắpxếpngoàilàsự tổchứclạicácmẩutinsaochocáckhóacủa chúngđượcsắpthứtựtươngứngvớiquyluật sắpxếp.Nguyễn Văn Linh Sắpxếptrộn: Kháiniệmvềđường• Ðườngđộdàiklàmộttậphợpkmẩutinđãđượcsắpthứtự theokhoá.• Chotậptinchứacácmẩutinr1,r2,...,rn,tanóitậptinđượctổ chứcthànhđườngcóđộdàiknếutachiatậptinthànhcác đoạnkmẩutinliêntiếpvàmỗiđoạnlàmộtđường,đoạn cuốicóthểkhôngcóđủkmẩutin,trongtrườnghợpnàyta gọiđoạnấylàđuôi(tail).• Vídụ:Tậptingồm14mẩutincókhóalàcácsốnguyên đượctổchứcthành4đườngđộdài3vàmộtđuôicóđộdài2 5 6 9 13 26 27 1 5 8 12 14 17 23 25 Nguyễn Văn Linh Sắpxếptrộn:Giảithuật• ÐểsắpxếptậptinFcónmẩutintasửdụng4tậptinF1,F2, G1vàG2.• PhânphốicácmẩutincủatậptinđãchoFluânphiênvàotrong haitậptinF1F2.Nhưvậyhaitậptinnàyxemnhưđượctổ chứcthànhcácđườngđộdài1.• Bước1:Ðọc2đường,mỗiđườngđộdài1từh ...
Tìm kiếm theo từ khóa liên quan:
Phân tích thiết kế thuật toán Phân tích thuật toán Thiết kế thuật toán Bài giảng Phân tích thiết kế thuật toán Cấu trúc dữ liệu Giải thuật lưu trữ ngoàiTài liệu có 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 361 0 0 -
Bài giảng chuyên đề Phân tích và thiết kế thuật toán: Chia để trị
27 trang 241 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 187 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 176 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 149 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 146 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 145 0 0 -
Tiểu luận ngành Khoa học máy tính: Thiết kế và phân tích thuật toán
36 trang 135 0 0 -
Bài giảng Phân tích thiết kế thuật toán: Chương 3 - Nguyễn Văn Linh
87 trang 116 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 110 0 0