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

Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Trường ĐH Văn Lang

33 8 1

Đ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

Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 Các giải thuật sắp xếp, cung cấp cho người học những kiến thức như: Giới thiệu về sắp xếp; bài toán sắp xếp; các thuật toán sắp xếp đơn giản; các bước thuật toán; đánh giá thuật toán. Mời các bạn cùng tham khảo!

KHOA CÔNG NGHỆ THÔNG TIN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT (Data Structures And Algorithms) BÀI 3: CÁC GIẢI THUẬT SẮP XẾP GIỚI THIỆU ▪ Sắp xếp gì? Trong thực tế thấy thứ xếp? Giá trị việc xếp mang lại gì? - Danh sách học sinh lớp - Danh sách xếp hạng điểm người chơi - Các sản phẩm thương mại điện tử - Tra cứu từ điển ▪ Trong phần thuật toán xếp dùng số nguyên để biểu diễn 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CƠNG NGHỆ THƠNG TIN BÀI TỐN SẮP •XẾP Cho danh sách có n phần tử a0, a1, a2…, an-1 • Sắp xếp q trình xử lý phần tử danh sách để đặt chúng theo thứ tự thỏa mãn số tiêu chuẩn dựa thơng tin lưu phần tử, như: - Sắp xếp danh sách lớp học tăng theo điểm trung bình - Sắp xếp danh sách sinh viên tăng theo tên • Để đơn giản việc trình bày giải thuật ta dùng mảng chiều a để lưu danh sách nhớ 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CƠNG NGHỆ THƠNG TIN BÀI TỐN SẮP XẾP a:(tt) dãy phần tử liệu Để xếp dãy a theo thứ tự (giả sử theo thứ tự tăng), ta tiến hành triệt tiêu tất nghịch a ▪Nghịch thế: •Cho dãy có n phần tử a0, a1,…,an-1 •Nếu iaj 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com 34 a[0], a[1] cặp nghịch Đánh giá độ phức tạp giải thuật, ta tính Css: Số lượng phép so sánh cần thực CHV: Số lượng phép hoán vị cần thực KHOA CƠNG NGHỆ THƠNG TIN CÁC THUẬT TỐN SẮP XẾP ĐƠN ▪GIẢN Các thuật tốn xếp trình bày gồm: - Thuật toán xếp kiểu sủi bọt (Bubble Sort) - Thuật toán xếp kiểu lựa chọn (Selection Sort) 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com - Thuật toán xếp kiểu chèn (Insertion Sort) KHOA CÔNG NGHỆ THÔNG TIN 01 BUBBLE SORT ▪ Xuất phát từ đầu dãy, đổi chỗ cặp phần tử kế cận để đưa phần tử nhỏ cặp phần tử vị trí đứng đầu dãy hành, sau khơng xét đến bước tiếp theo, lần xử lý thứ i có vị trí đầu dãy i 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com ▪ Lặp lại xử lý khơng cịn cặp phần tử để xét KHOA CÔNG NGHỆ THÔNG TIN CÁC BƯỚC THUẬT TOÁN Bước : i = 0; // lần xử lý Bước : j = 0;//Duyệt từ đầu dãy cuối vị trí N-1 Trong (j < N-1) thực hiện: Nếu a[j]>a[j+1] Doicho(a[j],a[j+1]); j = j+1; Bước : i = i+1; // lần xử lý Nếu i >=N-1: Hết dãy Dừng Ngược lại : Lặp lại Bước 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CƠNG NGHỆ THƠNG TIN MINH HỌA THUẬT TỐN • Cho dãy phần tử sau: {5, 1, 6, 2, 4, 3} Lượt 2(i=1) Lượt 1(i=0) Lượt 3(i=2) 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! 6 6 6 6 6 6 5 KHOA CÔNG NGHỆ THÔNG TIN ibaotu.com CÀI ĐẶT THUẬT TOÁN BUBBLE SORTDãy đối tượng (Các số): Arr[0], Arr[1],…,Arr[n-1] Input: Output: Dãy đối tượng xếp (Các số): Arr[0], Arr[1],…,Arr[n-1] Actions: void BubbleSort(ref a[],int n) { int i, j; for (i = ; i a[j+1])// sai vị trí đổi chỗ Swap(a[j], a[j+1]); } End 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CÔNG NGHỆ THÔNG TIN #Giải thuật Nổi bọt - Bubble Sort: B.1: Gán i = B.2: Gán j = //danh sách có n phần tử a0,a1,a2…,an-1 B.3: Nếu A[j] > A[j + 1] Hốn đối chỗ A[j] A[j + 1] B.4: Nếu (j < n – i – 1): -Đúng j = j + quay lui bước -Sai chuyển sang bước B.5: Nếu (i < n – 1): -Đúng i = i + quay lui bước -Sai dừng Kết Thúc 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CƠNG NGHỆ THÔNG TIN 10 #minh họa – giải thuật xếp chọn arr[] = 65 – 27 – 16 – 24 - // Tìm phần tử nhỏ trong arr[0 4] // đổi chỗ với phần tử [3] – 27 – 16 – 24 – 65 // Tìm phần tử nhỏ trong arr[1 4] // đổi chỗ với phần tử arr[1 4] - [16] – 27 – 24 - 65 // Tìm phần tử nhỏ trong arr[2 4] // đổi chỗ với phần tử arr[2 4] – 16 - [24] – 27 – 65 // Tìm phần tử nhỏ trong arr[3 4] // đổi chỗ với phần tử arr[3 4] – 16 – 24 - [27] – 65 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CƠNG NGHỆ THƠNG TIN 19 #Bài tập: Thực tính toán bước theo giải thuật xếp chọn – Selection Sort Cho mảng: A = [30, 65, 100, 20, 40, 75] 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CÔNG NGHỆ THÔNG TIN 20 CÀI ĐẶT THUẬT Input: Dãy đối tượng (Các số): Arr[0], Arr[1],…,Arr[n-1] TOÁN Output: Dãy đối tượng xếp (Các số): Arr[0], Arr[1],…,Arr[n-1] Actions: void SelectionSort(ref a[],int n ) { int min,i,j; // số phần tử nhỏ dãy hành for (i=0; i arr[Position-1] > insert): arr[Position] = arr[Position-1] Position = Position -1 kết thúc while //chèn giá trị vị trí arr[Position] = insert kết thúc for Kết thúc hàm 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CÔNG NGHỆ THÔNG TIN 30 KIỂM TRA Câu 1: cho mảng gồm phần tử khơng có thứ tự: 14 – 33 – 27 – 110 – 19 a)Biểu diễn Giải thuật xếp bọt b)Biểu diễn giải thuật xếp chèn c)Biểu diễn giải thuật xếp chọn 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CÔNG NGHỆ THÔNG TIN 31 #Ôn tập: Áp dụng giải thuật tìm kiếm nhị phân – Binary Search Mảng xếp tăng dần Dãy số gồm phần tử x=12 (n=8) 11 15 18 20 Áp dụng giải thuật xếp bọt - Bubble Sort Thực xếp mảng A = [40, 15, 30] 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CÔNG NGHỆ THÔNG TIN 32 KHOA CÔNG NGHỆ THÔNG TIN ... – 33 – 27 – 10 – 35 – 19 – 42 - 44 -Giải thuật xếp chèn tiếp tục di chuyển tới phần tử so sánh 33 27 14 – 33 – 27 – 10 – 35 – 19 – 42 - 44 -Và thấy 33 khơng nằm vị trí 14 – 33 – 27 – 10 – 35 ... 14 – 27 – 33 – 10 – 35 – 19 – 42 - 44 -Vì tráo đổi chúng 14 – 27 – 10 – 33 – 35 – 19 – 42 - 44 -Việc tráo đổi dẫn đến 27 10 không theo thứ tự 14 – 27 – 10 – 33 – 35 – 19 – 42 - 44 -Vì tráo đổi... tử khơng có thứ tự: 14 – 33 – 27 – 10 – 35 – 19 – 42 - 44 -Giải thuật xếp chèn so sánh hai phần tử đầu tiên: 14 – 33 – 27 – 10 – 35 – 19 – 42 - 44 -Giải thuật tìm 14 33 thứ tự tăng dần Bây giờ,

Ngày đăng: 27/01/2023, 08:43

Xem thêm: