Chuyển tới nội dung chính
Z

Bubble sort vs Quicksort

Bubble sort vs quicksort compared — speed, complexity and when each is appropriate, with interactive visualizers.

Bubble sort is a simple O(n²) teaching algorithm; quicksort is an efficient O(n log n) divide-and-conquer sort used in practice. The gap is enormous at scale.

Bubble sort vs Quicksort at a glance

Bubble sort Quicksort
Average time O(n²) O(n log n)
In place Yes Yes
Use Teaching only Production sorting
Scales No Yes

When to use Bubble sort

Use bubble sort only to learn how sorting and swaps work — never for real data.

When to use Quicksort

Use quicksort (or your language's built-in sort) for real workloads.

Tools for Bubble sort & Quicksort

Bubble sort vs Quicksort

Merge sort là gì?

Merge sort chia mảng làm đôi theo đệ quy cho đến khi mỗi phần chỉ còn một phần tử, sau đó gộp các phần lại theo thứ tự đã sắp xếp.

Độ phức tạp thời gian của merge sort là gì?

O(n log n) trong cả trường hợp tốt nhất, trung bình và xấu nhất. Thành phần log n đến từ độ sâu chia đôi, còn n đến từ việc gộp ở mỗi tầng.

Merge sort có ổn định (stable) không?

Có — khi gộp, các phần tử bằng nhau sẽ ưu tiên lấy phần tử từ nửa bên trái trước, giữ nguyên thứ tự ban đầu.

Nhược điểm của merge sort là gì?

Nó cần thêm O(n) bộ nhớ cho các vùng đệm gộp, không giống các thuật toán sắp xếp tại chỗ (in-place) như heap sort hay quicksort.