Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,87 MB
Nội dung
CHƯƠNG 2: CÁC THUẬT GIẢI SẮP XẾP VÀ TÌM KIẾM 2.1 Một số phương pháp xếp đơn giản Nội dung Chương 2: Sắp xếp Tổng quan Các phương pháp xếp thông dụng Tổng quan Tại phải xếp? Để sử dụng thuật tốn tìm nhị phân Để thực thao tác nhanh Định nghĩa toán xếp Chương 2: Sắp xếp Sắp xếp trình xử lý danh sách phần tử để đặt chúng theo thứ tự thỏa mãn tiêu chuẩn dựa nội dung thông tin lưu giữ phần tử Các phương pháp xếp thông dụng Chương 2: Sắp xếp Phương pháp Đổi chỗ trực tiếp (Interchange sort) Phương pháp Nổi bọt (Bubble sort) 2.1.1 Đổi chổ trực tiếp (Interchange Sort) Khái niệm nghịch thế: Chương 2: Sắp xếp Xét mảng số a[0], a[1], … a[n-1] Nếu có i a[j], ta gọi nghịch Mảng chưa xếp có nghịch Mảng có thứ tự khơng chứa nghịch a[0] a[1] … a[n -1] Interchange Sort – Ý tưởng Nhận xét: Ý tưởng: Chương 2: Sắp xếp Để xếp dãy số, ta xét nghịch có dãy làm triệt tiêu dần chúng Xuất phát từ đầu dãy, tìm tất nghịch chứa phần tử này, triệt tiêu chúng cách đổi chỗ phần tử với phần tử tương ứng cặp nghịch Lặp lại xử lý với phần tử dãy Interchange Sort – Ví dụ 1 j i Nếu a[i] > a[j] đổi chỗ a[i], a[j] Chương 2: Sắp xếp Interchange Sort – Ví dụ 1 2 j i Nếu a[i] > a[j] đổi chỗ a[i], a[j] Chương 2: Sắp xếp Interchange Sort – Ví dụ 10 2 j i Nếu a[i] > a[j] đổi chỗ a[i], a[j] Chương 2: Sắp xếp Các phương pháp xếp thông dụng 15 Chương 2: Sắp xếp Phương pháp Đổi chỗ trực tiếp (Interchange sort) Phương pháp Nổi bọt (Bubble sort) 2.1.2 Nổi bọt (Bubble Sort) – Ý tưởng 16 Xuất phát từ cuối dãy, đổi chỗ cặp phần tử kế cận để đưa phần tử nhỏ cặp phần tử vị trí đầu dãy hành, sau khơng xét đến bước Ở lần xử lý thứ i có vị trí đầu dãy i Lặp lại xử lý không cặp phần tử để xét Chương 2: Sắp xếp Bubble Sort – Ví dụ 17 1 2 i Nếu a[j]