CAC THUAT TOAN SAP XEP - haui ppsx

77 1.6K 7
CAC THUAT TOAN SAP XEP - haui ppsx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 CHƯƠNG 5 CÁC THUẬT TOÁN SẮP XẾP 2/77 NỘI DUNG  Khái niệm sắp xếp  Các thuật sắp xếp đơn giản  Các thuật toán sắp xếp nhanh 3/77 5.1 KHÁI NIỆM SẮP XẾP  Đặt vấn đề  Cho dãy số  Cho danh sách tên học sinh 81 52 73 21 44 81 73 52 44 21 Hùng Thắng An Bình Hoàng An Bình Hoàng Hùng Thắng 21 44 52 73 81 4/77 5.1 KHÁI NIỆM SẮP XẾP  Khái niệm  Sắp xếp là việc biến đổi vị trí của một tập đối tượng theo một trật tự nhất định  Mục đích  Giúp việc tìm kiếm, chọn lọc thông tin được dễ dàng, nhanh chóng 5/77 BÀI TOÁN SẮP XẾP  Giả thiết các khóa là số nguyên được lưu trong mảng một chiều, thứ tự sắp xếp là tăng dần Đầu vào: Dãy n đối tượng, mỗi đối tượng có một khóa sắp xếp Đầu ra: Dãy n đối tượng được sắp xếp theo trật tự của khóa. BÀI TOÁN 6/77 5.2 CÁC THUẬT TOÁN SẮP XẾP ĐƠN GiẢN  Thuật toán sắp xếp lựa chọn (Selectsort)  Thuật toán sắp xếp chèn (Insertsort)  Thuật toán sắp xếp nổi bọt (Bubblesort) 7/77  Ý tưởng thuật toán  Dựa vào thuật toán tìm MAX, MIN  Ở lần duyệt thứ i, với 0<=i<n-1 tìm ra phần tử nhỏ nhất đổi chỗ cho phần tử thứ i.  Sau n-1 lượt dãy được sắp xếp  Ví dụ Cho mảng a có 5 số nguyên (n=5) 5.2.1 THUẬT TOÁN SẮP XẾP LỰA CHỌN a0 a1 a2 a3 a4 3 -1 7 5 -4 8/77 5.2.1 THUẬT TOÁN SẮP XẾP LỰA CHỌN 3 -1 5 7 -4 -4 -1 5 7 3 -4 -1 5 7 3 -4 -1 5 7 3 Lần 1 Lần 2 9/77 5.2.1 THUẬT TOÁN SẮP XẾP LỰA CHỌN -4 -1 5 7 3 -4 -1 3 7 5 -4 -1 3 7 5 -4 -1 3 5 7 Lần 3 Lần 4 10/77  Ví dụ 2  Cho mảng số nguyên như sau  Yêu cầu: Mô tả quá trình sắp xếp dãy số theo thứ tự giảm dần. 5.2.1 THUẬT TOÁN SẮP XẾP LỰA CHỌN a0 a1 a2 a3 a4 a5 53 -21 67 15 82 -14 [...]... thích hợp trong dãy đích 3 -1 7 -4 5 3 7 -4 5 3 7 -4 5 -1 Lần 1 -1 16/77 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN tg Lần 2 tg 3 7 -4 5 -1 3 7 -4 5 -1 3 7 -4 5 -1 7 -1 3 7 5 -1 3 7 5 -4 Lần 3 -4 17/77 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN tg -4 -1 3 -4 -1 3 -4 -1 3 7 5 5 Lần 4 7 5 7 18/77 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN  Ví dụ 2  Cho mảng số nguyên như sau a0 a2 a3 a4 a5 53  a1 -2 1 67 15 82 -1 4 Yêu cầu: Mô tả quá trình... a3 a4 3  a1 -1 7 -4 5 Yêu cầu sắp xếp dãy số theo chiều tăng dần 22/77 5.2.3 THUẬT TOÁN SẮP XẾP NỔI BỌT Lần 1 a0 a1 a2 a3 a4 3 -1 7 -4 5 3 -1 7 -4 5 3 -1 -4 7 5 3 -4 -1 7 5 -4 3 -1 7 5 23/77 5.2.3 THUẬT TOÁN SẮP XẾP NỔI BỌT Lần 1 -4 -1 7 5 -1 3 5 7 3 5 7 5 Lần 2 3 7 5 7 Lần 3 Lần 4 -4 -1 3 24/77 5.2.3 THUẬT TOÁN SẮP XẾP NỔI BỌT  Ví dụ 2:  Cho dãy số sau a0 a1 a2 a3 a4 a5 -3 5 41 23 15 -6 2 71  Yêu... cuối của lượt trước, số phép so sánh có thể ít đi  Tùy thuộc vào dãy số, số lần duyệt có thể ít hơn n-1 27/77 5.2.3 THUẬT TOÁN SẮP XẾP NỔI BỌT  Thuật toán cải tiến void nbot(int a[], int n) { int i,j,tg,d; i=0; while (ii; j ) if (a[j] . THUẬT TOÁN SẮP XẾP LỰA CHỌN 3 -1 5 7 -4 -4 -1 5 7 3 -4 -1 5 7 3 -4 -1 5 7 3 Lần 1 Lần 2 9/77 5.2.1 THUẬT TOÁN SẮP XẾP LỰA CHỌN -4 -1 5 7 3 -4 -1 3 7 5 -4 -1 3 7 5 -4 -1 3 5 7 Lần 3 Lần 4 10/77  Ví. 5 tg -1 Lần 1 17/77 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN -1 3 7 -4 5 -1 3 7 -4 5 tg 7 -1 3 7 5 -1 3 7 -4 5 tg - 4 -4 -1 3 7 5 Lần 3 Lần 2 18/77 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN tg 5 -4 -1 3 5 7 -4 -1 . a4 3 -1 7 -4 5 Dãy đích Dãy nguồn 16/77  Ý tưởng thuật toán  Lấy phần tử đầu dãy nguồn chèn vào vị trí thích hợp trong dãy đích 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN 3 -1 7 -4 5 3 7 -4 5 -1 3 7 -4

Ngày đăng: 12/07/2014, 16:20

Từ khóa liên quan

Mục lục

  • CHƯƠNG 5 CÁC THUẬT TOÁN SẮP XẾP

  • NỘI DUNG

  • 5.1 KHÁI NIỆM SẮP XẾP

  • 5.1 KHÁI NIỆM SẮP XẾP

  • BÀI TOÁN SẮP XẾP

  • 5.2 CÁC THUẬT TOÁN SẮP XẾP ĐƠN GiẢN

  • 5.2.1 THUẬT TOÁN SẮP XẾP LỰA CHỌN

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN

  • Slide 13

  • Slide 14

  • 5.2.2 THUẬT TOÁN SẮP XẾP CHÈN

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan