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 và giải thuật: Chương 2.2 - Trần Minh Thái

Chia sẻ: Năm Tháng Tĩnh Lặng | Ngày: | Loại File: PPTX | Số trang:119

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

Chương 2.2 trình bày về giải thuật sắp xếp. Mục tiêu của chương này nhằm giúp người học nắm vững, minh họa và tính toán được các phép gán (hoán vị) các giải thuật sắp xếp cơ bản trên mảng một chiều; cài đặt được các giải thuật bằng ngôn ngữ C/C++. Hy vọng bài giảng sẽ là tài liệu tham khảo hữu ích cho quá trình học tập của các bạn.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2.2 - Trần Minh Thái

  1. Chương 2.2. Giải thuật sắp xếp Trần Minh Thái Email: minhthai@itc.edu.vn Website: www.minhthai.edu.vn  1
  2. Mục tiêu  Nắm vững, minh họa và tính toán được các phép gán (hoán vị) các giải thuật sắp xếp cơ bản trên mảng một chiều  Cài đặt được các giải thuật bằng ngôn ngữ C/C++ 2
  3. Các khái niệm  Sắp xếp là quá trình xử lý một danh sách các phần tử (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 đó dựa trên nội dung thông tin lưu giữ tại mỗi phần tử.  Khái a1 a2niệma3nghịch a4 thế … … aN- aN- aN 2 1 Giả sử xét mảng có thứ tự tăng dần, nếu có iaj thì ta gọi đó là nghịch thế. Mục tiêu của sắp xếp là khử các nghịch thế (bằng cách hoán vị) 3
  4. Các giải thuật sắp xếp cơ bản  Đổi chổ trực tiếp – Interchange Sort  Chọn trực tiếp – Selection Sort  Chèn trực tiếp – Insertion Sort  Nổi bọt – Bubble Sort  Quick Sort  Một số giải thuật khác đọc thêm trong tài liệu 4
  5. Đổi chổ trực tiếp – interchange sort  Ý tưởng Ý tưởng chính của giải thuật là xuất phát từ đầu dãy, tìm tất cả nghịch thế chứa phần tử này, triệt tiêu chúng bằng cách đổi chỗ phần tử này với phần tử tương ứng trong cặp nghịch thế. Lặp lại xử lý trên với các phần tử tiếp theo trong dãy. 5
  6. Đổi chổ trực tiếp – interchange sort Giả sử cần sắp xếp dãy số sau tăng dần 15 10 9 5 7 3 2 1 1 2 3 4 5 6 7 8 6
  7. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) 15 10 9 5 7 3 2 1 1 2 3 4 5 6 7 8 7 i j
  8. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) 15 10 9 5 7 3 2 1 1 2 3 4 5 6 7 8 8 i j
  9. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) 15 10 9 5 7 3 2 1 1 2 3 4 5 6 7 8 9 i j
  10. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) 15 10 9 7 5 3 2 1 1 2 3 4 5 6 7 8 10 i j
  11. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) 15 10 9 7 5 3 2 1 1 2 3 4 5 6 7 8 11 i j
  12. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) 15 10 9 7 5 2 3 1 1 2 3 4 5 6 7 8 12 i j
  13. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) 15 10 9 7 5 2 3 1 1 2 3 4 5 6 7 8 13 i j
  14. Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử đầu tiên (tại vị trí 1) Kết thúc bước 1 15 10 9 7 5 1 3 2 1 2 3 4 5 6 7 8 14 i j
  15. Đổi chổ trực tiếp – interchange sort Bước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 7 5 1 3 2 1 2 3 4 5 6 7 8 15 i j
  16. Đổi chổ trực tiếp – interchange sort Bước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 7 5 1 3 2 1 2 3 4 5 6 7 8 16 i j
  17. Đổi chổ trực tiếp – interchange sort Bước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 5 7 1 3 2 1 2 3 4 5 6 7 8 17 i j
  18. Đổi chổ trực tiếp – interchange sort Bước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 5 7 1 3 2 1 2 3 4 5 6 7 8 18 i j
  19. Đổi chổ trực tiếp – interchange sort Bước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 7 5 1 3 2 1 2 3 4 5 6 7 8 19 i j
  20. Đổi chổ trực tiếp – interchange sort Bước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 7 5 1 3 2 1 2 3 4 5 6 7 8 20 i j
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0