intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Cấu trúc dữ liệu: Chương 3 - ThS. Thiều Quang Trung (2018)

Chia sẻ: Tieu Vu | Ngày: | Loại File: PDF | Số trang:61

67
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cấu trúc dữ liệu: Chương 3 - ThS. Thiều Quang Trung (2018)

CHƯƠNG 3<br /> CÁC THUẬT TOÁN SẮP XẾP<br /> GV Th.S. Thiều Quang Trung<br /> Trường Cao đẳng Kinh tế Đối ngoại<br /> <br /> Nội dung<br /> <br /> 1<br /> 2<br /> 3<br /> 4<br /> 5<br /> 6<br /> <br /> • Chọn trực tiếp - Selection Sort<br /> • Chèn trực tiếp - Insertion Sort<br /> • Đổi chỗ trực tiếp - Interchange Sort<br /> • Nổi bọt - Bubble Sort<br /> • Sắp xếp dựa trên phân hoạch - Quick Sort<br /> <br /> • Trộn trực tiếp - Merge Sort<br /> GV. Thiều Quang Trung<br /> <br /> 2<br /> <br /> Các khái niệm<br /> • Sắp xếp là gì ?<br /> – Sắp xếp là quá trình xử lý một danh sách các phần<br /> tử (hoặc các mẫu tin) để đặt chúng theo một thứ<br /> tự thỏa mãn một tiêu chuẩn nào đó.<br /> <br /> • Khái niệm nghịch thế:<br /> – Xét một mảng các số a0, a1, … ,aN<br /> – Giả sử xét mảng có thứ tự tăng dần, nếu có i < j và<br /> ai > aj, thì ta gọi đó là nghịch thế.<br /> <br /> GV. Thiều Quang Trung<br /> <br /> 3<br /> <br /> Các khái niệm<br /> • Để sắp xếp một mảng => tìm cách giảm số các<br /> nghịch thế trong mảng này bằng cách hoán vị<br /> các cặp phần tử.<br /> • Cho trước một dãy số a1, a2, … aN được lưu trữ<br /> trong cấu trúc dữ liệu mảng.<br /> Ví dụ: int a[N];<br /> => Chọn lựa một số phương pháp để sắp xếp.<br /> <br /> GV. Thiều Quang Trung<br /> <br /> 4<br /> <br /> Chọn trực tiếp - Selection Sort<br /> • Ý tưởng: thực hiện N-1 lần việc đưa phần tử nhỏ<br /> nhất trong dãy hiện hành về vị trí đứng ở đầu dãy<br /> • Nhận xét: nếu mảng có thứ tự thì phần tử ai luôn<br /> là min (ai,ai+1,..,an-1) => Ý tưởng của thuật toán<br /> chọn trực tiếp:<br /> – Chọn phần tử nhỏ nhất trong N phần tử ban đầu, đưa<br /> phần tử này về vị trí đứng đầu dãy hiện hành;<br /> – Sau đó không quan tâm phần tử này nữa, xem dãy hiện<br /> hành chỉ còn N-1 phần tử của dãy ban đầu, bắt đầu từ<br /> vị trí thứ 2;<br /> – Lặp lại quá trình trên cho dãy hiện hành … cho đến khi<br /> dãy hiện hành chỉ còn một phần tử.<br /> GV. Thiều Quang Trung<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2