Лінійний пошук проти двійкового пошуку

Автор: Laura McKinney
Дата Створення: 4 Квітень 2021
Дата Оновлення: 13 Травень 2024
Anonim
Двійковий пошук
Відеоролик: Двійковий пошук

Зміст

Відмінність лінійного пошуку від бінарного пошуку полягає в тому, що при лінійному пошуку кожен елемент перевіряється та порівнюється, а потім сортується, тоді як у двійковому пошуку список, який слід сортувати, ділиться на дві частини і потім сортується. Пошук і сортування - це два основних поняття в комп'ютерному програмуванні. Для пошуку та сортування використовується багато алгоритмів, але два найбільш використовувані алгоритми пошуку та сортування - це лінійний пошук та двійковий пошук.


Різниця між лінійним пошуком і бінарним пошуком полягає в роботі та ефективності обох алгоритмів. Двійковий пошук - це набагато ефективніший алгоритм порівняно з алгоритмом лінійного пошуку. Ітерація або час, необхідний для порівняння кожного значення перед сортуванням, менший у двійковому пошуку порівняно з лінійним пошуком.

Лінійний пошук - це дуже складний алгоритм, якщо ви хочете шукати число у списку, порівнювати та повторювати іноді кількість значень у списку. Один за одним кожен елемент списку витягується та порівнюється із суміжним елементом. Доступ до всіх елементів та перевірка, а потім знайдений правильний елемент. Найгірший випадок може бути, якщо останнє число у списку - це число, яке потрібно шукати. Лінійний пошук - це метод, за допомогою якого проходить масив та заснований елемент, який слід шукати. Якщо говорити про ефективність, то ефективність - це кількість разів, яку програма повинна запустити, щоб знайти її кількість. Якщо ми знайдемо число, яке ми шукаємо на першій позиції, тоді потрібно зробити лише одне порівняння, і все сортується, але якщо ні, то порівняння доводиться робити знову і знову, і пам’ять витрачається даремно. В середньому кількість порівнянь становитиме (n + 1/2). І найгірша ефективність цієї методики - O (n) означає порядок виконання.


Порівняно з лінійним пошуком, двійковий пошук є дуже ефективним. У цьому методі масив ділиться на двоскладові, і таким чином кількість порівнянь є значно меншою порівняно з двійковим пошуком. Часу також менше у двійковому пошуку порівняно з лінійним пошуком. Бінарний пошук працює таким чином, щоб середній елемент масиву був знайдений, а потім середній елемент порівнювався з однією частиною масиву. Може бути три можливості, середнє число може бути числом, яке нам потрібно знайти, або число, яке менше середнього числа, або число, яке більше, ніж середина середнього числа. Кількість порівнянь становить не більше журналу (N + 1). Бінарний пошук порівняно з лінійним пошуком - це ефективний алгоритм порівняння з лінійним пошуком, але масив повинен бути відсортований перед тим, як здійснювати двійковий пошук.

Зміст: Різниця між лінійним і бінарним

  • Порівняльна діаграма
  • Двійковий пошук
  • Ключові відмінності
  • Висновок
  • Пояснювальне відео

Порівняльна діаграма

ОсноваЛінійний пошукДвійковий пошук
ЗначенняЛінійний пошук кожного елемента перевіряється та порівнюється, а потім сортується

Двійковий пошук списку, який слід сортувати, ділиться на дві частини і потім сортує.


 

Складність часуЧасова складність лінійного пошуку становить O (N).Часова складність двійкового пошуку становить O (журнал 2 N)
Тип алгоритмуЛінійний пошук є ітераційним.Двійковий пошук - це розділення та перемога.
Рядок кодуУ лінійному пошуку нам потрібно написати більше коду.У двійковому пошуку нам потрібно записати менше коду.

Лінійний пошук

Лінійний пошук - це дуже складний алгоритм, якщо ви хочете шукати число у списку, порівнювати та повторювати кілька разів кількість значень у списку. Один за одним кожен елемент списку витягується та порівнюється із суміжним елементом. До всіх елементів звертається і перевіряється, а потім знайдеться потрібний елемент. Найгірший випадок може бути, якщо останнє число у списку - це число, яке потрібно шукати. Лінійний пошук - це метод, за допомогою якого проходить масив та заснований елемент, який слід шукати. Якщо говорити про ефективність, то ефективність - це кількість разів, яку програма повинна запустити, щоб знайти її кількість. Якщо ми знайдемо число, яке ми шукаємо на першій позиції, тоді потрібно зробити лише одне порівняння, і все сортується, але якщо ні, то порівняння доводиться робити знову і знову, і пам’ять витрачається даремно. У середньому кількість порівнянь складе (n + 1/2). І найгірший випадок ефективності цієї методики - O (n) означає порядок виконання.

Двійковий пошук

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

Може бути три можливості, середнє число може бути числом, яке нам потрібно знайти, або число, яке менше середнього числа, або число, яке більше, ніж середина середнього числа. Кількість порівнянь становить не більше журналу (N + 1). Бінарний пошук порівняно з лінійним пошуком - це ефективний алгоритм порівняння з лінійним пошуком, але масив повинен бути відсортований перед тим, як здійснювати двійковий пошук.

Ключові відмінності

  1. Лінійний пошук кожного елемента перевіряється та порівнюється, а потім сортується, тоді як двійковий пошук списку, який слід сортувати, ділиться на дві частини і потім сортує.
  2. Часова складність лінійного пошуку становить 0 (N), тоді як часова складність двійкового пошуку становить O (log2N).
  3. Лінійний пошук є ітераційним, тоді як двійковий пошук - розділити і перемогти.
  4. При лінійному пошуку нам потрібно писати більше коду, тоді як у двійковому пошуку нам потрібно писати менше коду.

Висновок

У цій статті вище ми бачимо чітку різницю між лінійним і бінарним.

Пояснювальне відео