Trong các trường hợp khác nhau, chúng tôi thực hiện các lược đồ tìm kiếm khác nhau để tìm một số khóa. Trong phần này, chúng ta sẽ thấy sự khác biệt cơ bản giữa hai kỹ thuật tìm kiếm, tìm kiếm tuần tự và tìm kiếm nhị phân.
Tìm kiếm tuần tự | Tìm kiếm nhị phân |
---|---|
Độ phức tạp thời gian là O (n) | Độ phức tạp thời gian là O (log n) |
Tìm khóa có ở vị trí đầu tiên trong thời gian không đổi | Tìm khóa hiện diện ở vị trí trung tâm trong thời gian không đổi |
Trình tự của các phần tử trong vùng chứa không ảnh hưởng. | Các phần tử phải được sắp xếp trong vùng chứa |
Mảng và danh sách được liên kết có thể được sử dụng để triển khai điều này | Nó không thể được triển khai trực tiếp vào danh sách được liên kết. Chúng tôi cần thay đổi các quy tắc cơ bản của danh sách để thực hiện điều này |
Thuật toán có tính chất lặp lại | Kỹ thuật giải thuật là Chia và Chinh phục. |
Thuật toán dễ thực hiện và yêu cầu ít mã hơn. | Thuật toán hơi phức tạp. Cần nhiều mã hơn để triển khai. |
N số phép so sánh được yêu cầu cho trường hợp xấu nhất. | Số bản ghi so sánh là đủ trong trường hợp xấu nhất. |