Tìm kiếm tuyến tính và nhị phân là các thuật toán phổ biến được dùng để tìm các yếu tố trong danh sách. Hiểu số so sánh mong đợi mỗi thuật toán có thể giúp đỡ trong việc chọn phương pháp hiệu quả nhất cho trường hợp cụ thể. Bài này so sánh các phép so sánh tuyến tính với các phương pháp tìm kiếm nhị phân.

Tìm kiếm tuyến

Việc tìm kiếm tuyến tính kiểm tra mỗi yếu tố trong danh sách một cách thường xuyên cho đến khi nó tìm thấy mục tiêu hoặc đến cuối. Số so sánh mong đợi phụ thuộc vào việc mục tiêu có mặt và vị trí của nó trong danh sách hay không.

Nếu danh sách chứa yếu tố và mục tiêu có khả năng ở bất kỳ vị trí nào, số so sánh mong đợi là:

Sự so sánh đã được giải thích = (n + 1) / 2 [FLT: 1]

Đây là vì, trung bình, tìm kiếm sẽ tìm thấy mục tiêu đi nửa vòng trong danh sách.

Tìm kiếm nhị phân

Tìm kiếm nhị phân hoạt động trên danh sách sắp xếp bằng cách chia khoảng tìm kiếm ra làm hai, hiệu quả tùy thuộc vào kích thước danh sách và vị trí của mục tiêu.

Trong trường hợp tốt nhất, mục tiêu nằm ở giữa, chỉ cần một so sánh.

Giả sử mục tiêu có khả năng ở bất kỳ vị trí nào, số lượng mong đợi của so sánh là xấp xỉ:

[FLT:] [FLT:] n

Tóm tắt

  • “ Hãy lấy lòng yêu - thương mềm - mại mà yêu - mến ”, 1 / 2
  • Tìm kiếm nhị phân có số đếm so sánh của bản ghi [FLT: 0] 2 [FLT: 1] n.
  • Việc tìm kiếm nhị phân thường đòi hỏi ít so sánh hơn cho danh sách lớn.
  • Tìm kiếm tuyến có thể thích hợp cho danh sách nhỏ hoặc không có tiêu chuẩn.