Menu
CoddyTech

Độ phức tạp thời gian và không gian

Bài học 7 trên 9 trong khóa học Merge Sort: loạt bài về DSA của Coddy.

Độ phức tạp thời gian:

  • Trường hợp tốt nhất, trung bình và xấu nhất: O(n log n)
    • Mảng được chia đôi khoảng log n lần, và mỗi cấp thực hiện O(n) thao tác để trộn. Thời gian chạy không phụ thuộc vào thứ tự đầu vào.

Độ phức tạp không gian:

  • O(n)
    • Khác với các thuật toán sắp xếp tại chỗ, Merge Sort tạo các mảng mới khi trộn, vì vậy thuật toán cần thêm bộ nhớ tỷ lệ với kích thước đầu vào.

Tóm tắt:

  • Merge Sort nhanh và có hiệu suất ổn định: O(n log n) trong mọi trường hợp.
  • Thuật toán ổn định, vì vậy các phần tử bằng nhau vẫn giữ nguyên thứ tự.
  • Đổi lại, thuật toán dùng thêm O(n) bộ nhớ để trộn.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Merge Sort: loạt bài về DSA

2Thuật toán

Cách hoạt động?Mã giảTriển khai (phần 1)Triển khai (phần 2)Bài học dự ánĐộ phức tạp thời gian và không gian

Tự luyện tập: Trình biên dịch C online