Цивільно-імперські послуги; структурне будівництво
Розрахунок розширюваного числа Порівняння в лінійному проти Binary Search
Table of Contents
У розділі «Порівняння очікуваної кількості порівняння кожного алгоритму дозволяє вибрати найбільш ефективний метод для конкретних ситуацій. У статті порівнювати очікувані порівняння в лінійних протизмінних методах пошуку».
Пошук ліній
Потрібні дані по запиту кожного елемента в списку, що послідовно доки не знайдено цілі або досягає кінця. Очікувана кількість порівняння залежить від того, чи є ціль і його положення в списку.
Якщо у списку міститься n] елементи і ціль однаково ймовірні, що будуть на будь-якому положенні, очікувана кількість порівняння:
Вибрані порівняння = (n + 1) / 2
Це тому, в середньому пошук буде знаходитися цільова півходія через список.
Пошук по Binary
Бінарний пошуковий використовується для сортування списку, періодично розділяє інтервал пошуку навпіл. Його ефективність залежить від розміру списку і положення цілі.
У кращому випадку ціль на середині, що вимагає тільки одного порівняння. У найгіршому випадку вона займає приблизно журнал2] n] порівняння.
Припустимо, що ціль, як правило, є на будь-якому положенні, очікувана кількість порівняння досить грубо:
n
Порівняння резюме
- ЛІНІЙНИЙ пошук має очікуваний розрахунок порівняння (n + 1) / 2.
- Binary search має очікуваний показник порівняння приблизно журналу 2 n.
- Бінарний пошук зазвичай вимагає менших порівняння для великих списків.
- Для невеликих або несортованих списків можна знайти лайнарний пошук.