Bài giảng Cấu trúc dữ liệu: Chương 2 (tt) - ThS. Võ Quang Hoàng Khang
Số trang: 115
Loại file: pdf
Dung lượng: 1.81 MB
Lượt xem: 24
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương này tiếp tục trình bày những kiến thức về giải thuật tìm kiếm. Mục tiêu chương: 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++. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu: Chương 2 (tt) - ThS. Võ Quang Hoàng Khang CHƯƠNG 2.(TT) GIẢI THUẬT SẮP XẾPVõ Quang Hoàng KhangEmail: vqhkhang@gmail.com 1 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 Khái niệm Sắp xếp là quá trình xử lý một danh sách các phần tử để đặt chúng theo một thứ tự thỏa mãn một tiêu chí nào đó dựa trên nội dung thông tin lưu giữ tại mỗi phần tử. Khái niệm nghịch thế a1 a2 a3 a4 … … aN-2 aN-1 aN 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 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Đổ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ừ đầudãy, tìm tất cả nghịch thế chứa phần tử này, triệttiêu chúng bằng cách đổi chỗ phần tử này vớiphần tử tương ứng trong cặp nghịch thế. Lặp lạixử lý trên với các phần tử tiếp theo trong dãy. 5 Đổi chổ trực tiếp – interchange sortGiả 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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 7 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu: Chương 2 (tt) - ThS. Võ Quang Hoàng Khang CHƯƠNG 2.(TT) GIẢI THUẬT SẮP XẾPVõ Quang Hoàng KhangEmail: vqhkhang@gmail.com 1 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 Khái niệm Sắp xếp là quá trình xử lý một danh sách các phần tử để đặt chúng theo một thứ tự thỏa mãn một tiêu chí nào đó dựa trên nội dung thông tin lưu giữ tại mỗi phần tử. Khái niệm nghịch thế a1 a2 a3 a4 … … aN-2 aN-1 aN 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 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Đổ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ừ đầudãy, tìm tất cả nghịch thế chứa phần tử này, triệttiêu chúng bằng cách đổi chỗ phần tử này vớiphần tử tương ứng trong cặp nghịch thế. Lặp lạixử lý trên với các phần tử tiếp theo trong dãy. 5 Đổi chổ trực tiếp – interchange sortGiả 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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBướ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 Đổi chổ trực tiếp – interchange sortBước 2: Xét phần tử thứ hai (tại vị trí 2) 15 10 9 7 ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Giải thuật tìm kiếm Ngôn ngữ C/C++ Giải thuật sắp xếp Đổi chổ trực tiếpGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 301 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 145 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 139 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 135 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 135 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 4: Một số giải thuật sắp xếp và tìm kiếm
29 trang 106 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 99 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 70 0 0 -
49 trang 66 0 0
-
10 trang 65 0 0