Bubble Sort — Thuật toán đơn giản nhất
Chào mừng bạn đến với Phần 4: Thuật toán Sắp xếp (Sorting Algorithms).
Bất kỳ hệ thống nào cũng cần sắp xếp dữ liệu (Ví dụ: Lọc danh sách sản phẩm theo giá tăng dần, xếp hạng bài viết theo thời gian mới nhất). Chúng ta thường chỉ cần gõ array.sort() là xong. Nhưng dưới lăng kính của một kỹ sư, hiểu rõ máy tính đang "xào bài" như thế nào là cốt lõi để biết khi nào code của mình sẽ chạy siêu tốc, khi nào sẽ khiến server "bốc khói".
Chúng ta sẽ bắt đầu chuỗi Sorting bằng một thuật toán kinh điển nhất, ngây ngô nhất, dễ hiểu nhất: Bubble Sort (Sắp xếp nổi bọt).
📋 Agenda
Thời gian đọc ước tính: ~5 phút
Sau bài này, bạn sẽ:
- ✅ Hiểu được cơ chế "Nổi bọt" (Bubble up) của phần tử lớn nhất.
- ✅ Giải thích được tại sao Time Complexity của Bubble Sort lại là
O(n^2). - ✅ Tự tay implement Bubble Sort bằng TypeScript, kèm theo 1 kĩ năng tối ưu cực đỉnh.
- ✅ Phân biệt được Best Case (Trường hợp tốt nhất) và Worst Case (Trường hợp xấu nhất).