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 4 - Bùi Tiến Lên

50 32 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 50
Dung lượng 713,71 KB

Nội dung

Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 4: Các thuật toán sắp xếp cung cấp cho người đọc các kiến thức: Bài toán sắp xếp, các phương pháp sắp xếp, selection sort, insertion sort,.... Mời các bạn cùng tham khảo nội dung chi tiết.

CuuDuongThanCong.com CÁC THUẬT TOÁN SẮP XẾP Bùi Tiến Lên 01/01/2017 https://fb.com/tailieudientucntt Bài toán xếp Sắp xếp danh sách đối tượng theo thứ tự công việc phổ biến Sắp xếp yêu cầu thiếu việc viết phần mềm ứng dụng Do đó, nghiên cứu phương pháp xếp cần thiết cho học lập trình CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm Bài toán xếp (cont.) Định nghĩa Cho dãy a có n phần tử có thứ tự Hãy xếp dãy {a0 , a1 , , an−1 } theo thứ tự tăng dần CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm Các phương pháp xếp Có nhiều phương pháp xếp khác Mỗi phương pháp có đặc điểm riêng Phương pháp Selection Sort Phương pháp Insertion Sort Phương pháp Bubble Sort Phương pháp Shell Sort Phương pháp Heap Sort Phương pháp Merge Sort Phương pháp Quick Sort Phương pháp Radix Sort Phương pháp Counting Sort CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm CuuDuongThanCong.com SELECION SORT https://fb.com/tailieudientucntt Selection Sort Ý tưởng thuật toán sau: Giả sử dãy a chia làm hai phần: phần trái xếp s phần bên phải chưa xếp u s = ∅ u = a Tìm phần tử nhỏ xm u Loại xm khỏi u thêm vào cuối s Nếu u cịn phần tử quay lại bước CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm Selection Sort (cont.) 10 11 12 13 void SelectionSort (int a[], int n) { int min; for (int i = 0; i < n; i++) { = i; for (int j = i + 1; j < n; j++) if (a[j] < a[min ]) = j; if (a[min] < a[i]) Swap(a[min], a[i]); } } CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm Đánh giá Phân tích chi phí thực theo n (số lượng phần tử mảng) CuuDuongThanCong.com Spring 2017 Trường hợp tốt trung bình xấu O(g(n)) ? ? ? https://fb.com/tailieudientucntt Data structure & Algorithm CuuDuongThanCong.com INSERTION SORT https://fb.com/tailieudientucntt Insertion Sort Ý tưởng thuật toán sau: Giả sử dãy a chia làm hai phần: phần trái xếp s phần bên phải chưa xếp u s = ∅ u = a Lấy phần tử x u Loại x khỏi u Chèn x vào s cho vị trí Nếu u cịn phần tử quay lại bước CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm 10 Quick Sort Ý tưởng thuật toán sau: Đây hướng tiếp cận ”chia nhỏ toán” Chia dãy a thành hai dãy bên trái aleft bên phải aright cho phần tử thuộc dãy trái nhỏ phần tử thuộc dãy bên phải Sắp xếp cho dãy aleft aright Nối hai dãy trái phải với a = aleft aright CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm 36 Quick Sort (cont.) Chương trình 3: Sau cài đặt hàm Quick Sort 10 11 List QuickSort (List a) { List aleft , aright ; if (a Length 0) { a[i] = j; count[j] ; i++; } } } CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm 49 Tài liệu tham khảo Shell, D L (1959) A high-speed sorting procedure Communications of the ACM, 2(7):30–32 CuuDuongThanCong.com Spring 2017 https://fb.com/tailieudientucntt Data structure & Algorithm 50 ... Algorithm 44 Minh họa thuật toán (cont.) Phân bố theo nhóm hàng trăm {002, 802, 0 24, 045 , 066, 170, 075, 090} 0: 002, 0 24, 045 , 066, 075, 090 1: 170 2: 3: 4: 5: 6: 7: 8: 802 9: Gộp nhóm {002, 0 24, 045 ,... theo nhóm hàng chục {170, 090, 002, 802, 0 24, 045 , 075, 066} 0: 002, 802 1: 2: 0 24 3: 4: 045 5: 6: 066 7: 170, 075 8: 9: 090 Gộp nhóm {002, 802, 0 24, 045 , 066, 170, 075, 090} CuuDuongThanCong.com... Data structure & Algorithm 42 Minh họa thuật tốn (cont.) Phân bố theo nhóm hàng đơn vị {170, 045 , 075, 090, 802, 002, 0 24, 066} 0: 170 090 1: 2: 002 802 3: 4: 0 24 5: 045 075 6: 066 7: 8: 9: Gộp

Ngày đăng: 02/12/2020, 12:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN