Різниця між лінійним і бінарним
Зміст
Лінійний пошук і двійковий пошук - це два методи, які використовуються в масивах пошук елементи. Пошук - це процес пошуку елемента в списку елементів, що зберігаються в будь-якому порядку або випадковим чином.
Основна відмінність лінійного пошуку від бінарного пошуку полягає в тому, що бінарний пошук потребує менше часу для пошуку елемента з відсортованого списку елементів. Тож робиться висновок, що ефективність методу бінарного пошуку більша, ніж лінійного пошуку.
Ще одна відмінність між ними полягає в тому, що існує необхідна умова для двійкового пошуку, тобто елементи повинні бути відсортовано тоді як у лінійному пошуку немає такої передумови. Хоча обидва способи пошуку використовують різні методи, які обговорюються нижче.
- Порівняльна діаграма
- Визначення
- Ключові відмінності
- Висновок
Порівняльна діаграма
Основа для порівняння | Лінійний пошук | Двійковий пошук |
---|---|---|
Часова складність | O (N) | O (журнал 2 N) |
Кращий час справи | Перший елемент O (1) | Центр Елемент О (1) |
Необхідна умова для масиву | Не потрібно | Масив повинен бути відсортованим |
Найгірший випадок для N кількості елементів | Не потрібно проводити порівняння | Можна зробити висновок лише після журналу2 N порівнянь |
Можна реалізувати на | Список масивів та пов'язаних з ними | Не може бути безпосередньо реалізовано у зв’язаному списку |
Вставте операцію | Легко вставляється в кінці списку | Потрібна обробка, щоб вставити її в потрібне місце для підтримки відсортованого списку. |
Тип алгоритму | Ітеративний характер | Розділяйся і підкорюй на природі |
Корисність | Простий у використанні і не потребує жодних замовлених елементів. | Будь-який складний алгоритм та елементи повинні бути організовані в порядку. |
Рядки кодексу | Менше | Більше |
Визначення лінійного пошуку
При лінійному пошуку кожен елемент масиву отримується один за одним у логічному порядку і перевіряється, бажаний він елемент чи ні. Пошук буде невдалим, якщо всі елементи доступні, а потрібний елемент не знайдеться. У гіршому випадку, кількість середнього випадку, можливо, нам доведеться сканувати половину розміру масиву (n / 2).
Тому лінійний пошук можна визначити як техніку, яка послідовно обходить масив, щоб знайти даний елемент. Програма, наведена нижче, ілюструє пошук елемента масиву за допомогою пошуку.
Ефективність лінійного пошуку
Витрата часу або кількість порівнянь, здійснених на пошук запису в таблиці пошуку, визначають ефективність методики. Якщо потрібний запис присутній у першому положенні таблиці пошуку, робиться лише одне порівняння. Коли потрібний запис є останнім, тоді необхідно зробити n порівнянь. Якщо запис повинен бути представлений десь у пошуковій таблиці, в середньому кількість порівнянь буде (n + 1/2). Найгірший показник ефективності цієї методики - O (n) означає порядок виконання.
Програма C пошук елемента за допомогою лінійної техніки пошуку.
#включати Двійковий пошук - надзвичайно ефективний алгоритм. Ця методика пошуку забирає менше часу на пошук даного товару за мінімально можливих порівнянь. Щоб виконати двійковий пошук, спочатку ми повинні сортувати елементи масиву. Логіка цієї методики наведена нижче: Можуть виникнути три випадки: Повторюйте ті ж дії, поки елемент не буде знайдений або вичерпаний в області пошуку. У цьому алгоритмі кожен раз область пошуку зменшується. Тому кількість порівнянь становить не більше журналу (N + 1). Як результат, це ефективний алгоритм порівняння з лінійним пошуком, але масив повинен бути відсортований перед тим, як здійснювати двійковий пошук. Програма C щоб знайти елемент з технікою двійкового пошуку. #включати Як лінійні, так і двійкові алгоритми пошуку можуть бути корисними залежно від програми. Якщо масив є структурою даних, а елементи розташовані в упорядкованому порядку, тоді перевагу надає двійковий пошук швидкийпошук. Якщо пов'язаний список - це структура даних незалежно від того, як розташовані елементи, лінійний пошук приймається через відсутність прямої реалізації алгоритму двійкового пошуку. Типовий алгоритм бінарного пошуку не може бути використаний для пов'язаного списку, тому що зв'язаний список має динамічний характер і невідомо, куди насправді призначений середній елемент. Отже, існує вимога розробити варіацію алгоритму двійкового пошуку, який може працювати і в зв'язаному списку, оскільки двійковий пошук швидше виконується, ніж лінійний пошук.Визначення двійкового пошуку
Висновок