Bài giảng Cấu trúc dữ liệu: Chương 3 - ThS. Thiều Quang Trung (2018)
Số trang: 61
Loại file: pdf
Dung lượng: 1.17 MB
Lượt xem: 11
Lượt tải: 0
Xem trước 7 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Cấu trúc dữ liệu - Chương 3: Các thuật toán sắp xếp" cung cấp cho người học các kiến thức: Chọn trực tiếp - Selection Sort, chèn trực tiếp - Insertion Sort, đổi chỗ trực tiếp - Interchange Sort, nổi bọt - Bubble Sort, sắp xếp dựa trên phân hoạch - Quick Sort, trộn trực tiếp - Merge Sort. 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 Cấu trúc dữ liệu: Chương 3 - ThS. Thiều Quang Trung (2018)CHƯƠNG 3CÁC THUẬT TOÁN SẮP XẾPGV Th.S. Thiều Quang TrungTrường Cao đẳng Kinh tế Đối ngoạiNội dung123456• Chọn trực tiếp - Selection Sort• Chèn trực tiếp - Insertion Sort• Đổi chỗ trực tiếp - Interchange Sort• Nổi bọt - Bubble Sort• Sắp xếp dựa trên phân hoạch - Quick Sort• Trộn trực tiếp - Merge SortGV. Thiều Quang Trung2Các khái niệm• Sắp xếp là gì ?– Sắp xếp là quá trình xử lý một danh sách các phầntử (hoặc các mẫu tin) để đặt chúng theo một thứtự thỏa mãn một tiêu chuẩn nào đó.• Khái niệm nghịch thế:– Xét một mảng các số a0, a1, … ,aN– Giả sử xét mảng có thứ tự tăng dần, nếu có i < j vàai > aj, thì ta gọi đó là nghịch thế.GV. Thiều Quang Trung3Các khái niệm• Để sắp xếp một mảng => tìm cách giảm số cácnghịch thế trong mảng này bằng cách hoán vịcác cặp phần tử.• Cho trước một dãy số a1, a2, … aN được lưu trữtrong cấu trúc dữ liệu mảng.Ví dụ: int a[N];=> Chọn lựa một số phương pháp để sắp xếp.GV. Thiều Quang Trung4Chọn trực tiếp - Selection Sort• Ý tưởng: thực hiện N-1 lần việc đưa phần tử nhỏnhất trong dãy hiện hành về vị trí đứng ở đầu dãy• Nhận xét: nếu mảng có thứ tự thì phần tử ai luônlà min (ai,ai+1,..,an-1) => Ý tưởng của thuật toánchọn trực tiếp:– Chọn phần tử nhỏ nhất trong N phần tử ban đầu, đưaphần tử này về vị trí đứng đầu dãy hiện hành;– Sau đó không quan tâm phần tử này nữa, xem dãy hiệnhành chỉ còn N-1 phần tử của dãy ban đầu, bắt đầu từvị trí thứ 2;– Lặp lại quá trình trên cho dãy hiện hành … cho đến khidãy hiện hành chỉ còn một phần tử.GV. Thiều Quang Trung5
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 3 - ThS. Thiều Quang Trung (2018)CHƯƠNG 3CÁC THUẬT TOÁN SẮP XẾPGV Th.S. Thiều Quang TrungTrường Cao đẳng Kinh tế Đối ngoạiNội dung123456• Chọn trực tiếp - Selection Sort• Chèn trực tiếp - Insertion Sort• Đổi chỗ trực tiếp - Interchange Sort• Nổi bọt - Bubble Sort• Sắp xếp dựa trên phân hoạch - Quick Sort• Trộn trực tiếp - Merge SortGV. Thiều Quang Trung2Các khái niệm• Sắp xếp là gì ?– Sắp xếp là quá trình xử lý một danh sách các phầntử (hoặc các mẫu tin) để đặt chúng theo một thứtự thỏa mãn một tiêu chuẩn nào đó.• Khái niệm nghịch thế:– Xét một mảng các số a0, a1, … ,aN– Giả sử xét mảng có thứ tự tăng dần, nếu có i < j vàai > aj, thì ta gọi đó là nghịch thế.GV. Thiều Quang Trung3Các khái niệm• Để sắp xếp một mảng => tìm cách giảm số cácnghịch thế trong mảng này bằng cách hoán vịcác cặp phần tử.• Cho trước một dãy số a1, a2, … aN được lưu trữtrong cấu trúc dữ liệu mảng.Ví dụ: int a[N];=> Chọn lựa một số phương pháp để sắp xếp.GV. Thiều Quang Trung4Chọn trực tiếp - Selection Sort• Ý tưởng: thực hiện N-1 lần việc đưa phần tử nhỏnhất trong dãy hiện hành về vị trí đứng ở đầu dãy• Nhận xét: nếu mảng có thứ tự thì phần tử ai luônlà min (ai,ai+1,..,an-1) => Ý tưởng của thuật toánchọn trực tiếp:– Chọn phần tử nhỏ nhất trong N phần tử ban đầu, đưaphần tử này về vị trí đứng đầu dãy hiện hành;– Sau đó không quan tâm phần tử này nữa, xem dãy hiệnhành chỉ còn N-1 phần tử của dãy ban đầu, bắt đầu từvị trí thứ 2;– Lặp lại quá trình trên cho dãy hiện hành … cho đến khidãy hiện hành chỉ còn một phần tử.GV. Thiều Quang Trung5
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cấu trúc dữ liệu Cấu trúc dữ liệu Thuật toán sắp xếp Chèn trực tiếp Đổi chỗ trực tiếp Bubble Sort Sắp xếp dựa trên phân hoạchGợ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 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 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 -
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 71 0 0