Linear vs Binary Search — Bí mật của việc Cắt đôi
Chào mừng bạn đến với Phần Cuối Cùng: Tìm Kiếm & Các Thuật Toán Nâng Cao.
Bạn đã có mảng dữ liệu (Array). Bạn đã sắp xếp nó gọn gàng từ bé đến lớn bằng Quick Sort/Merge Sort. Mọi thứ thật hoàn hảo. Và bây giờ, User gõ một từ khóa vào ô Tìm kiếm trên UI. Câu hỏi đặt ra là: Bạn sẽ đi lấy kết quả đó ra cho User bằng cách nào?
Đây là lúc chúng ta phải quyết định sự sinh tử của một API: Trả về kết quả trong 1 mili-giây hay khiến User phải ngắm màn hình Loading tròn xoe trong 1 phút?
📋 Agenda
Thời gian đọc ước tính: ~6 phút
Sau bài này, bạn sẽ:
- ✅ Hiểu được giới hạn của Linear Search (Tìm kiếm Tuyến tính) và cách nó phá hủy hiệu năng.
- ✅ Nhận diện được "cú lừa" của Binary Search (Tìm kiếm Nhị phân) — thuật toán vi diệu nhất trong giới hạn của Mảng.
- ✅ Tự tay implement cả 2 hàm tìm kiếm bằng TypeScript.
- ✅ Cảnh giác với rủi ro và "Điểm mù" của Binary Search.