1. Trang chủ
  2. » Mẫu Slide

SLIDE BÀI GIẢNG CHƯƠNG 2 THUẬT TOÁN TÌM KIẾM

114 233 0

Đ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 114
Dung lượng 395,97 KB

Nội dung

Chương 2.2 Giải thuật xếp Trần Minh Thái Email: minhthai@itc.edu.vn Website: www.minhthai.edu.vn Mục tiêu  Nắm vững, minh họa tính tốn phép gán (hốn vị) giải thuật xếp mảng chiều  Cài đặt giải thuật ngôn ngữ C/C++ Các khái niệm  Sắp xếp trình xử lý danh sách phần tử (hoặc mẫu tin) để đặ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ử  Khái niệm nghịch Giả sử xét mảng có thứ tự tăng dần, có iaj ta gọi nghịch Mục tiêu xếp khử nghịch (bằng cách hoán vị) a1 a2 a3 a4 … … aN-2 aN-1 aN Các giải thuật xếp  Đổ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 tài liệu Đổi chổ trực tiếp – interchange sort  Ý tưởng Ý tưởng giải thuật 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 Đổi chổ trực tiếp – interchange sort Giả sử cần xếp dãy số sau tăng dần 10 10 5 15 15 Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử (tại vị trí 1) 10 10 5 15 15 i j Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử (tại vị trí 1) 10 10 15 15 8 i j Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử (tại vị trí 1) 10 10 15 15 9 i j Đổi chổ trực tiếp – interchange sort Bước 1: Xét phần tử (tại vị trí 1) 10 10 3 5 15 15 10 i j  “Chèn trực tiếp” “Chọn trực tiếp” có chi phí cho trường hợp xấu O(n2) đó, khơng thích hợp cho việc xếp mảng lớn  Dễ cài đặt, dễ kiểm lỗi  “Chèn trực tiếp” tốt “Chọn trực tiếp”, mảng có thứ tự sẵn  Cần có giải thuật hiệu cho việc xếp mảng lớn 100 Quick sort  Chia dãy cần thành phần  Cách “chia”: ½ dãy bên trái chứa giá trị nhỏ ½ dãy bên phải  Thực việc xếp dãy (đệ qui) x 101 i=1, j=8 x L R 10 15 1 i L=1 j Đoạn Đoạn R=8 Đoạn cần xếp L=1 L=4 R=3 R=8 102 i=4, j=8 x L R 15 10 i j L=4 R=8 L=1 Đoạn Đoạn L=4 L=5 R=5 R=8 R=3 Đoạn cần xếp 103 i=5, j=8 L=5 L x R 15 10 i j R=8 L=4 R=5 L=1 R=4 Đoạn L=6 R=8 Đoạn cần xếp 104 i=6, j=8 L=6 L x R 15 10 i j R=8 L=4 R=5 L=1 R=4 Đoạn L=6 R=7 Đoạn cần xếp 105 x i=6, j=7 L=6 L R 10 15 i j R=7 L=4 R=5 L=1 R=4 Đoạn cần xếp 106 x i=4, j=5 L R 10 15 i j L=4 R=5 L=1 R=4 Đoạn cần xếp 107 i=1, j=4 L x 10 15 R i L=1 R=4 j Đoạn L=3 R=4 Đoạn cần xếp 108 x i=3, j=4 L R 10 15 i j L=3 R=4 Đoạn cần xếp 109 10 15 Khơng cịn đoạn cần xếp! Kết thúc Đoạn cần xếp 110 Giải thuật Cho dãy aL, aL+1, … aR Bước 1: Phân hoạch dãy aL … aR thành dãy con:  Dãy 1: aL … aj < x  Dãy 2: aj+1 … ai-1 =x  Dãy 3: … aR > x Bước 2: Nếu (L

Ngày đăng: 15/03/2019, 20:01

TỪ KHÓA LIÊN QUAN

w