Bài giảng Cấu trúc dữ liệu - Chương 5: Sắp xếp
Thông tin tài liệu:
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 5: Sắp xếpCHƯƠNG5SẮP XẾP 1 Chương5:Sắpxếp5.1Phươngphápchọn5.2Phươngphápchèn5.3Phươngphápchènnhịphân5.4Phươngphápnổibọt5.5Phươngphápsắpxếpnhanh5.6Phươngphápvunđống 24.1bàitoánsắpxếp ̣ ̣ Cómôttâpnđô ́itượng.Mỗiđốitượngcónhiềuthuôcti ̣ ́nh,đượcthêhiên ̉ ̣ ̣ ̉ ̉bằngmôtkiêubanghigô ̀mnhiềutrường.Sắpxếplàquátrìnhbốtrílạicácbảnghitheomộttrườnggoila ̣ ̀khóa. Vídụtrongbảngdanhbạgồmcácbảnghicótêncơquan,địachỉ,sốđiệnthoại.Sổdanhbạthườngđượcsắpxếptheotrườngkhóalàtêncơquanđểdễtìmkiếm. 34.1bàitoánsắpxếp Sắpxếplàthaotáccầnthiếthaygặptrongquátrìnhlưutrữvàquảnlýdữliệu.Có2phươngphápsắpxếp:sắpxếptrongtácđộnglêncácbảnghilưutrữởbộnhớtrongvàSắpxếpngoàiliênquanđếntậplớncácbảnghilưutrữtrêntệp.Chươngnàychỉxétbàitoánsắpxếptrongtheothứtựtăngcủakhóa.Sắpxếptheothứtựgiảmđượclàmhoàntoàntươngtự. 45.1PhươngphápchọnÝtưởng: Dãykhóacầnsắpxếplàk[1],k[2],…,k[n]. Ởlượtthứi(i=1,2,3,…,n2)tasẽchọn trongdãykhóak[i+1],….,k[n]khóanhỏ nhấtvàđổichỗnóvớik[i] Saun1lượtkhóatừnhỏđếnlớnsẽđược sắpxếpởcácvịtríthứ1,thứ2,…thứn1, thứn. 55.1Phươngphápchọn Thuậttoán: voidSX_chon(int*k,intn) {inti,x; for(i=1;i5.2PhươngphápchènÝtưởng: Dãykhóacầnxếplàk[1],k[2],…,k[n]. Đầutiênkhóak[1]chỉcómộtkhóađãđược sắpxếp.Xétthêmk[2],sosánhnóvớik[1] đểxácđịnhchỗchènnóvàovàtacó2 khóađượcsắpxếp.Đốivớik[3]lạiso sánhvớik[2],k[1]vàcứnhưvậyđếnkhi xétxongk[n]. 75.2PhươngphápchènCàiđặt: Đểcóchỗchokhóamớiphảidịchchuyển cáckhóalùilạisauvàdùngXlàmônhớ phụchứakhóađangđượcxét.Đểkhóa mớidùởvịtríđầutiêncũngđượcchèn vàogiữakhóanhỏvàlớnhơnnó,tathêm vàokhóagiảk[0]=∞. 85.2Phươngphápchèn voidSX_chen(int*k,intn) {intj; for(inti=2;i5.3PhươngphápnổibọtCàiđặt: Bảngcáckhóasẽđượcduyệttừđáylên đỉnh.Dọcđườngnếugặp2khóakếcận ngượcthứtựtasẽđổichỗchúngvới nhau. Saumỗilượtsắpxếpcácgiátrịkhóanhỏ sẽnổidầnlêngiốngnhưbọtnướctrong nồinướcđangsôi. 105.3Phươngphápnổibọt voidSX_noibot(int*k,intn) {for(inti=1;i=i+1;j) if(k[j]5.3Phươngphápnổibọt voidswap(int*c,int*d) {inta; a=*c; *c=*d; *d=a; return; } 12Đánhgiá3phươngpháp: Độphứctạptrungbìnhcủathuậttoán chungchocả3phươngpháplàO(n2) 135.4PhươngphápsắpxếpnhanhÝtưởng:Chọnkhóađầutiêncủadãylàmchốt. Mọiphầntửnhỏhơnkhóachốtphải đượcxếpvàođầudãy.Mọiphầntử lớnhơnkhóachốtphảiđượcxếpvào cuốidãy.Muốnvậy,cácphầntửtrong dãysẽđượcsosánhvớikhóachốtvà sẽđổivịtríchonhau. 145.4PhươngphápsắpxếpnhanhKhiviệcđổichỗđãthựchiệnxong,dãy khóađượcphânlàm2đoạn.Đoạnđầu gồmcáckhóanhỏhơnchốt,đoạnsau gồmcáckhóalớnhơnchốt,khóachốt nằmgiữa2đoạn.Haiđoạnsẽđượcxửlýriênggiốngnhư vậy.Quátrìnhxửlýtừngđoạnsẽkết thúckhichỉcòn1phầntử. 155.4Phươngphápsắpxếpnhanh voidSX_nhanh(int*k,intL,intU) {intB=1; if(L5.4Phươngphápsắpxếpnhanh swap(&k[L],&k[j]); SX_nhanh(k,L,j1); SX_nhanh(k,j+1,U); } return;} 175.4Phươngphápsắpxếpnhanh Đánhgiá: Độphứctạptrungbìnhcủathuậttoánlà O(nlog2n) Khikíchthướcphânđoạnđãnhỏ,tadùng phươngphápsắpxếpđơngiảntiệnhơn. 185.5PhươngphápvunđốngCàiđặt: Trướchếtphảitạođốnglàtạoracâynhị phânhoànchỉnhmàkhóaởnútchabao giờcũnglớnhơnkhóaởcácnútconcủa nó.Câynhịphânnàyđượclưutrữkế tiếptrongmáy. 195.5Phươngphápvunđống Giaiđoạnthứ2gồm: Đổichỗcủavịtrícuốicùngvớikhóaở gốccủađốngđểđưakhóalớnnhấtvềvị tríđúng. Vunlạithànhđốngchocâychứanhững nútcònlại. 20 ...
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 5 Phương pháp chọn Phương pháp chèn Phương pháp chèn nhị phânTài liệu cùng danh mục:
-
62 trang 388 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 371 6 0 -
Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 3 - Hệ điều hành Windowns XP
39 trang 318 0 0 -
Phương pháp truyền dữ liệu giữa hai điện thoại thông minh qua môi trường ánh sáng nhìn thấy
6 trang 307 0 0 -
Đề 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 299 0 0 -
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 288 1 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 279 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 276 2 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 265 0 0 -
Một số vấn đề về chuyển đổi số và ứng dụng trong doanh nghiệp
11 trang 247 0 0
Tài liệu mới:
-
Phát triển phần mềm giám sát và điều khiển cho xe tự hành AGV
7 trang 0 0 0 -
Đề tập huấn thi THPT Quốc gia môn GDCD năm 2018 - Sở GD&ĐT Bắc Ninh - Mã đề 421
5 trang 0 0 0 -
Đề tập huấn thi THPT Quốc gia môn tiếng Anh năm 2019 - Sở GD&ĐT Bắc Ninh - Mã đề 322
4 trang 0 0 0 -
Đề tập huấn thi THPT Quốc gia môn tiếng Anh năm 2019 - Sở GD&ĐT Bắc Ninh - Mã đề 315
4 trang 0 0 0 -
Đề tập huấn thi THPT Quốc gia môn tiếng Anh năm 2019 - Sở GD&ĐT Bắc Ninh - Mã đề 302
4 trang 0 0 0 -
Đề thi học kì 1 môn Ngữ văn lớp 6 năm 2021-2022 có đáp án - Trường THCS Thượng Thanh
4 trang 0 0 0 -
Đề thi giữa học kì 1 môn Toán lớp 11 năm 2022-2023 - Trường THPT Nguyễn Hữu Huân
3 trang 0 0 0 -
Bài giảng Động lực học công trình - Trường Đại học Kỹ thuật Công nghiệp
123 trang 3 0 0 -
Bài giảng học phần Địa chất công trình - Trường Đại học Kỹ thuật Công nghiệp
77 trang 1 0 0 -
142 trang 0 0 0