Độ phức tạp về thời gian và không gian
Bài học 7 trên 9 trong khóa học Sắp xếp chèn, chuỗi DSA của Coddy.
Độ phức tạp thời gian:
- Trường hợp tốt nhất: O(n)
- Khi mảng đã được sắp xếp, Insertion Sort chỉ cần duyệt qua một lần để xác nhận thứ tự đã sắp xếp.
- Trường hợp trung bình và xấu nhất: O(n2)
- Trong trường hợp trung bình và xấu nhất, thuật toán cần thời gian bậc hai vì với mỗi phần tử, ta có thể cần so sánh và dịch chuyển các phần tử trong toàn bộ phần đã sắp xếp.
Độ phức tạp không gian:
- O(1)
- Insertion Sort là thuật toán sắp xếp tại chỗ, nghĩa là thuật toán không cần thêm bộ nhớ có kích thước tỷ lệ với đầu vào.
- Bộ nhớ dùng để sắp xếp luôn không đổi, bất kể kích thước đầu vào.
Tóm tắt:
- Insertion Sort hiệu quả với tập dữ liệu nhỏ hoặc mảng gần như đã được sắp xếp.
- Thuật toán này kém phù hợp với tập dữ liệu lớn vì có độ phức tạp thời gian bậc hai.
- Độ phức tạp không gian không đổi, nên thuật toán tiết kiệm bộ nhớ với mọi kích thước đầu vào.
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 độ.
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 độ.
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ự làm thử
Bài học này không có thử thách code.
Tất cả bài học trong Sắp xếp chèn, chuỗi DSA
2Thuật toán
Cách hoạt động?Mã giảTriển khai (phần 1)Triển khai (phần 2)Tự luyện tập: Trình biên dịch C online