Bài giảng Cấu trúc dữ liệu: Sắp xếp - TS. Lê Minh Trung & Th.S Lương Trần Ngọc Khiết

Bài giảng Cấu trúc dữ liệu: Sắp xếp cung cấp cho người học những kiến thức như: Chọn trực tiếp (Selection Sort); Chèn trực tiếp (Insertion Sort); Nổi bọt (Bubble Sort); Merge Sort; Quick Sort; Heap Sort; Radix Sort. Mời các bạn cùng tham khảo! | TS. Lê Minh Trung Lương Trần Ngọc Khiết Khoa CNTT Đại học Sư phạm TP. HCM Nội dung Chọn trực tiếp Selection Sort Chèn trực tiếp Insertion Sort Nổi bọt Bubble Sort Merge Sort Quick Sort Heap Sort Radix Sort Khái niệm Sắp thứ tự Đầu vào một mảng Đầu ra mảng có thứ tự tăng hoặc giảm trên khóa Phân loại Sắp thứ tự ngoại external sort tập tin Sắp thứ tự nội internal sort bộ nhớ Giả thiết Sắp thứ tự nội Sắp tăng dần Chọn trực tiếp Input int a n Output mảng đã được sắp xếp Ý tưởng Với mỗi i 0 1 2 n-2 Tìm phần tử nhỏ nhất của mảng con a và hoán vị phần tử này với a i . Sorted Unsorted 23 78 45 8 32 56 Original List 8 78 45 23 32 56 After pass 1 8 23 45 78 32 56 After pass 2 After pass 3 8 23 32 78 45 56 8 23 32 45 78 56 After pass 4 After pass 5 8 23 32 45 56 78 Chọn trực tiếp Chọn trực tiếp void SelectionSort int a int n for int i 0 iĐánh giá chọn trực tiếp Vòng lặp for ngoài có n-1 lần lặp i 0 1 n-2 Số phép so sánh của lần lặp thứ i n-i-1 Số phép so sánh 2 1 0 1 1 2 1 2 Độ phức tạp của thuật toán 2 Chèn trực tiếp Insertion Sort Input int a n Output mảng đã được sắp xếp Ý tưởng Với mỗi i 1 2 n-1 Mảng con a đã được sắp thứ tự tăng chèn a i vào vị trí thích hợp để mảng con a sắp thứ tự tăng. Sorted Unsorted 23 78 45 8 32 56 Original List 23 78 45 8 32 56 After pass 1 23 45 78 8 32 56 After pass 2 After pass 3 8 23 45 78 32 56 8 23 32 45 78 56 After pass 4 After pass 5 8 23 32 45 56 78 Chèn trực tiếp Chèn trực tiếp void InsertionSort int a int n for int i 1 ix a j 1 a j j- if j -1 break a j 1 x Đánh giá chèn trực tiếp Vòng lặp for ngoài có n-1 lần lặp i 1 2 n-1 Tốt nhất 1 1 1 1 Xấu nhất 1 1 2 2 1 2 1 1 2 Trung bình 2 Nổi bọt Bubble Sort Input int a n Output mảng đã được sắp xếp Ý tưởng Với mỗi i n-1 n-2 1 Với mỗi j 0 1 i Nếu a j Nổi bọt sorted Bước 1 6 4 7 2 3 sorted Bước 2 4 6 2 3 7 sorted Bước 3 4 2 3 6 7 sorted Bước 4 2 3 4 6 7 Nổi bọt void BubbleSort int a int n for int i n-1 i gt 1 i- for int j 1 ja j int temp a j-1 a j-1 a j a j temp Đánh giá .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
12    25    1    28-11-2024
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.