У розділі «Порівняння очікуваної кількості порівняння кожного алгоритму дозволяє вибрати найбільш ефективний метод для конкретних ситуацій. У статті порівнювати очікувані порівняння в лінійних протизмінних методах пошуку».

Пошук ліній

Потрібні дані по запиту кожного елемента в списку, що послідовно доки не знайдено цілі або досягає кінця. Очікувана кількість порівняння залежить від того, чи є ціль і його положення в списку.

Якщо у списку міститься n] елементи і ціль однаково ймовірні, що будуть на будь-якому положенні, очікувана кількість порівняння:

Вибрані порівняння = (n + 1) / 2

Це тому, в середньому пошук буде знаходитися цільова півходія через список.

Пошук по Binary

Бінарний пошуковий використовується для сортування списку, періодично розділяє інтервал пошуку навпіл. Його ефективність залежить від розміру списку і положення цілі.

У кращому випадку ціль на середині, що вимагає тільки одного порівняння. У найгіршому випадку вона займає приблизно журнал2] n] порівняння.

Припустимо, що ціль, як правило, є на будь-якому положенні, очікувана кількість порівняння досить грубо:

n

Порівняння резюме

  • ЛІНІЙНИЙ пошук має очікуваний розрахунок порівняння (n + 1) / 2.
  • Binary search має очікуваний показник порівняння приблизно журналу 2 n.
  • Бінарний пошук зазвичай вимагає менших порівняння для великих списків.
  • Для невеликих або несортованих списків можна знайти лайнарний пошук.