Giao diện
Tìm Kiếm (Searching)
Tìm kiếm là một trong những thao tác cơ bản nhất của máy tính. Từ việc tìm một tên trong danh bạ, tìm sản phẩm trên Tiki, đến việc Google tìm kiếm trong hàng tỷ trang web.
Phân Loại
Có hai loại tìm kiếm chính dựa trên cấu trúc dữ liệu:
- Sequential Search (Tìm kiếm tuần tự): Điển hình là Linear Search. Dùng cho dữ liệu chưa sắp xếp.
- Interval Search (Tìm kiếm theo khoảng): Điển hình là Binary Search. Dùng cho dữ liệu đã sắp xếp.
So Sánh Nhanh
| Thuật Toán | Độ Phức Tạp (Time) | Yêu Cầu Dữ Liệu | Trường Hợp Tốt Nhất |
|---|---|---|---|
| Linear Search | O(N) | Không cần sắp xếp | O(1) (Tìm thấy ngay đầu) |
| Binary Search | O(log N) | Bắt buộc đã sắp xếp | O(1) (Tìm thấy ngay giữa) |
Khi nào dùng cái gì?
- Nếu mảng nhỏ hoặc chưa sắp xếp -> Dùng Linear Search.
- Nếu mảng lớn và cần tìm nhiều lần -> Hãy sort trước rồi dùng Binary Search.