Bài giảng Phân tích thiết kế thuật toán: Chương 4 - Nguyễn Văn Linh
Thông tin tài liệu:
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àiGợ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 -
Bài giảng chuyên đề Phân tích và thiết kế thuật toán: Chia để trị
27 trang 228 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 163 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 -
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 121 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 110 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Ứng dụng và cài đặt cấu trúc dữ liệu bằng C: Phần 1
338 trang 73 0 0 -
49 trang 72 0 0
-
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hoàng Mạnh Hà
67 trang 70 0 0 -
54 trang 70 0 0
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Phần 1 - ThS. Hoàng Thế Phương
128 trang 67 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Ngô Công Thắng
8 trang 66 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Lê Văn Vinh
67 trang 57 1 0 -
Giáo trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT - Chương 1
5 trang 51 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - ThS. Trịnh Quốc Sơn (ĐH Công nghệ Thông tin)
20 trang 50 0 0 -
Cấu trúc dữ liệu và Ngôn ngữ lập trình C
261 trang 44 0 0