🔎 Hai chiến lược, hai điều kiện
Tìm kiếm tuyến tính kiểm tra lần lượt nên dùng được với dữ liệu chưa sắp xếp; trường hợp xấu nhất cần n lần so sánh. Tìm kiếm nhị phân so với phần tử giữa rồi loại một nửa miền còn lại, nhưng cần dữ liệu đã sắp xếp theo cùng khóa.
Bất biến giúp tránh lỗi
Duy trì đoạn chỉ số [left,right] mà mục tiêu, nếu tồn tại, phải nằm trong đó. Tính mid, so sánh, rồi đặt left=mid+1 hoặc right=mid−1. Dừng khi tìm thấy hoặc left>right. Quy tắc cập nhật phải loại mid để vòng lặp tiến triển.
Độ phức tạp
- Tuyến tính: O(n) ở trường hợp xấu nhất.
- Nhị phân: O(log n), vì sau k bước còn khoảng n/2k phần tử.
⚠️ Không quên chi phí chuẩn bị
Nếu chỉ tìm một lần trong dữ liệu nhỏ chưa sắp xếp, sắp xếp trước có thể không đáng. Nếu tìm nhiều lần và dữ liệu ít thay đổi, chi phí sắp xếp có thể được bù. Với phần tử trùng, thuật toán cơ bản chỉ bảo đảm tìm một vị trí, không mặc nhiên là vị trí đầu tiên.
📚 Căn cứ biên soạn
- Chương trình GDPT 2018.
- Mạch kiến thức Kết nối tri thức với cuộc sống lớp 10 và Quyết định 3588/QĐ-BGDĐT.
- Nội dung biên soạn độc lập, nêu rõ giả định, điều kiện áp dụng và giới hạn mô hình.
Cùng nhau hiểu bài sâu hơn
Viết lời giải, công thức, đặt câu hỏi hoặc gửi ảnh phần bạn đang vướng.
Đăng nhập để đặt câu hỏi và tham gia trao đổi.
Chưa có trao đổi nào. Hãy là người đầu tiên đặt câu hỏi nhé.