Skip to content

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:

  1. 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.
  2. 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ệuTrường Hợp Tốt Nhất
Linear SearchO(N)Không cần sắp xếpO(1) (Tìm thấy ngay đầu)
Binary SearchO(log N)Bắt buộc đã sắp xếpO(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.