Giao diện
Thuật toán Sắp xếp (Sorting) 🔢
Sorting là một trong những nền tảng quan trọng nhất của Computer Science. Hãy cùng tìm hiểu!
📚 Danh sách thuật toán
| Thuật toán | Độ phức tạp | Stable | Trạng thái |
|---|---|---|---|
| Bubble Sort | O(n²) | ✅ | ✅ Có sẵn |
| Selection Sort | O(n²) | ❌ | 🔜 Sắp có |
| Insertion Sort | O(n²) | ✅ | 🔜 Sắp có |
| Merge Sort | O(n log n) | ✅ | 🔜 Sắp có |
| Quick Sort | O(n log n) | ❌ | 🔜 Sắp có |
| Heap Sort | O(n log n) | ❌ | 🔜 Sắp có |
🎯 Bắt đầu từ đâu?
💡 Khuyến nghị cho người mới
Bắt đầu với Bubble Sort để hiểu khái niệm, sau đó chuyển sang Merge Sort và Quick Sort để nắm các kỹ thuật nâng cao.
→ Bubble Sort ✅
Thuật toán đơn giản nhất, dễ hiểu nhất. Phù hợp để học khái niệm. Có sẵn ngay!
Quick Sort 🔜
Thuật toán nhanh nhất trong thực tế. Được sử dụng trong nhiều thư viện chuẩn.
Merge Sort 🔜
Thuật toán ổn định, hiệu quả. Phù hợp cho Linked List và External Sorting.
📖 So sánh các thuật toán
| Thuật toán | Best | Average | Worst | Space |
|---|---|---|---|---|
| Bubble Sort | O(n) | O(n²) | O(n²) | O(1) |
| Selection Sort | O(n²) | O(n²) | O(n²) | O(1) |
| Insertion Sort | O(n) | O(n²) | O(n²) | O(1) |
| Merge Sort | O(n log n) | O(n log n) | O(n log n) | O(n) |
| Quick Sort | O(n log n) | O(n log n) | O(n²) | O(log n) |
| Heap Sort | O(n log n) | O(n log n) | O(n log n) | O(1) |
📝 Ghi chú
- Stable: Thuật toán giữ nguyên thứ tự tương đối của các phần tử bằng nhau
- In-place: Thuật toán không cần bộ nhớ phụ đáng kể (O(1) space)