1. Trang chủ
  2. » Công Nghệ Thông Tin

CÂU TRÚC DỮ LIỆU VÀ GIẢI THUẬT pot

39 258 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 1,72 MB

Nội dung

CH NG 3ƯƠ CÁC THU T TOÁN S P X PẬ Ắ Ế MỤC TIÊU  Khái niệm sắp xếp  Phát biểu bài toán sắp xếp  Sắp xếp trong sắp xếp ngoài  Các phương pháp sắp xếp đơn giản  Phương pháp đổi chỗ liên tiếp  Phương pháp lựa chọn  Phương pháp chèn  Phương pháp phân đoạn – Quick Sort  Phương pháp vun đống – Heap Sort  Phương pháp sắp xếp trộn 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 KHÁI NIỆM SẮP XẾP (TT)  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ự mới nhằm thỏa mãn một mục đích.  Mục đích  Giúp việc tìm kiếm được thực hiện nhanh hơn  Sắp thứ tự để in bảng biểu BÀI TOÁN SẮP XẾP  Ví dụ: Bài toán sắp xếp dãy số tăng dần  Đầu vào: 7 3 8 1 5  Đầu ra: 1 3 5 7 8 Đầ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 SẮP XẾP TRONG SẮP XẾP NGOÀI  Sắp xếp trong:  Dãy đối tượng được sắp có mặt đầy đủ ở bộ nhớ trong (RAM).  Sắp xếp một mảng số, hoặc một danh sách tuyến tính – Sắp tại chỗ  Sắp xếp ngoài:  Dãy đối tượng được sắp chưa có mặt đầy ở bộ nhớ trong  Sắp xếp dữ liệu được lưu trong tệp. CÁC THUẬT TOÁN SẮP XẾP HAY GẶP  Ba thuật toán sắp xếp đơn giản  Sắp xếp nổi bọt (Bubble Sort)  Sắp xếp lựa chọn (Selection Sort)  Sắp xếp chèn (Insertion Sort)  Thuật toán sắp xếp phân đoạn (Quick Sort)  Thuật toán sắp xếp vun đống (Heap Sort)  Thuật toán sắp xếp trộn (Merge Sort)  Ý tưởng giải thuật  Dựa vào việc so sánh đổi chỗ (nếu cần) các phần tử kế tiếp trong dãy đối tượng cần sắp  Ví dụ  Cho dãy X có 5 số nguyên (n=5) như sau  Yêu cầu sắp xếp dãy số theo chiều tăng dần THUẬT TOÁN SẮP XẾP NỔI BỌT X0 X1 X2 X3 X4 5 -1 7 3 -4 THUẬT TOÁN SẮP XẾP NỔI BỌT  Cách làm: duyệt so sánh các cặp phần tử kế tiếp của dãy, giả sử là Xj Xj+1, nếu trái thứ tự thì đổi chỗ X0 X1 X2 X3 X4 5 -1 7 3 -4 -1 5 7 3 -4 -1 5 7 3 -4 -1 5 3 7 -4 -1 5 3 -4 7  Nhận xét  Sau lần duyệt vừa rồi ta thấy phần tử lớn nhất được chuyển về cuối dãy, nghĩa là nó đứng đúng vị trí  Các phần tử còn lại vẫn chưa đúng thứ tự  Làm thế nào đây? THUẬT TOÁN SẮP XẾP NỔI BỌT X0 X1 X2 X3 X4 -1 5 3 -4 7 -1 5 3 -4 7 -1 3 5 -4 7 -1 3 -4 5 7 [...]... giảm dần của điểm trung bình   Nhập vào một danh sách học sinh (0tam) { X[j+1]=X[j]; j=j-1; } X[j+1]=tam; } } THUẬT TOÁN SẮP XẾP CHÈN... chiều tăng dần THUẬT TOÁN SẮP XẾP CHÈN  Bài toán thể hiện ý tưởng:  Cho dãy được sắp tăng dần -5  Chèn số -5 -1 1 2 4 vào dãy -1 2 4 2 4 1 -5 -1 1 THUẬT TOÁN SẮP XẾP CHÈN  Đưa ý tưởng vào bài toán sắp xếp:  Xem dãy cần sắp gồm 2 dãy nối tiếp  Dãy trái (dãy đích) gồm các phần tử được sắp, dãy phải (dãy nguồn) là các phần tử chưa được sắp X0 X1 X2 X3 X4 3 -1 7 -4 5 Dãy đích Dãy nguồn THUẬT TOÁN SẮP... Nhập vào một dãy n số nguyên (0 . (Insertion Sort)  Thuật toán sắp xếp phân đoạn (Quick Sort)  Thuật toán sắp xếp vun đống (Heap Sort)  Thuật toán sắp xếp trộn (Merge Sort)  Ý tưởng giải thuật  Dựa vào việc so sánh và đổi chỗ (nếu. Mỗi công việc được viết bằng một thủ tục THUẬT TOÁN SẮP XẾP NỔI BỌT  Ý tưởng giải thuật  Dựa vào thuật toán MAX  Duyệt và tìm phần tử nhỏ nhất của dãy và đổi chỗ phần tử đó cho phần tử đầu. theo chiều tăng dần THUẬT TOÁN SẮP XẾP NỔI BỌT X0 X1 X2 X3 X4 5 -1 7 3 -4 THUẬT TOÁN SẮP XẾP NỔI BỌT  Cách làm: duyệt và so sánh các cặp phần tử kế tiếp của dãy, giả sử là Xj và Xj+1, nếu trái

Ngày đăng: 29/03/2014, 00:20

TỪ KHÓA LIÊN QUAN