Линейно търсене спрямо двоично търсене
Съдържание
- Съдържание: Разлика между линейно търсене и двоично търсене
- Сравнителна диаграма
- Двоично търсене
- Ключови разлики
- заключение
- Обяснително видео
Разликата между линейното търсене и двоичното търсене е, че при линейното търсене всеки елемент се проверява и сравнява и след това сортира, докато при двоично търсене списък, който трябва да бъде сортиран, се разделя на две части и след това се сортира. Търсенето и сортирането са две основни понятия в компютърното програмиране. Много алгоритми се използват за търсене и сортиране, но двата най-използвани алгоритми за търсене и сортиране са линейно търсене и двоично търсене.
Разликата между линейното търсене и двоичното търсене е работата и ефективността на двата алгоритъма. Двоичното търсене е много по-ефективен алгоритъм в сравнение с алгоритъма за линейно търсене. Итерацията или времето, необходимо за сравняване на всяка стойност преди сортирането, е по-малко при бинарното търсене в сравнение с линейното търсене.
Линейното търсене е много сложен алгоритъм, ако искате да търсите число в списък, да сравнявате и повторите понякога броя на стойностите в списъка. Всеки по един елемент от списъка се извлича и сравнява със съседния елемент. Достъп до всички елементи се проверява и се проверява и тогава се намира правилния елемент. Възможно е най-лошият случай, ако последният номер в списъка е числото, което трябва да се търси. Линейното търсене е методът, чрез който се преминава масивът и се основава търсеният елемент. Ако говорим за ефективността, ефективността е броя пъти, през които програмата трябва да се изпълни, за да намери числото. Ако намерим търсеното число на първа позиция, тогава трябва да се направи само едно сравнение и нещата са подредени, но ако не, тогава сравненията трябва да се правят отново и отново и паметта се губи. Средно броят на сравненията ще бъде (n + 1/2). И най-лошата ефективност на тази техника е O (n) означава реда на изпълнение.
В сравнение с линейното търсене бинарното търсене е много ефективно. При този метод масивът е разделен на две части и по този начин броят на сравненията е много по-малък в сравнение с двоичното търсене. Времето също е по-малко при бинарното търсене в сравнение с линейното търсене. Бинарното търсене работи по начина, по който е намерен средният елемент от масива и след това средният елемент се сравнява с една част от масива. Може да има три възможности, които са средно число, може да бъде числото, което трябва да намерим, или числото, което е по-малко от средното число или числото, което е по-голямо от средата на средното число. Броят на сравненията е най-много log (N + 1). Двоичното търсене в сравнение с линейното търсене е ефективен алгоритъм в сравнение с линейното търсене, но масивът трябва да бъде сортиран, преди да извършите двоичното търсене.
Съдържание: Разлика между линейно търсене и двоично търсене
- Сравнителна диаграма
- Двоично търсене
- Ключови разлики
- заключение
- Обяснително видео
Сравнителна диаграма
основа | Линейно търсене | Двоично търсене |
значение | Линейно търсене всеки елемент се проверява и сравнява и след това се сортира | Двоично търсене списък, който трябва да бъде сортиран, се разделя на две части и след това се сортира.
|
Време сложност | Временната сложност на линейното търсене е O (N). | Времевата сложност на двоичното търсене е O (лог 2 Н) |
Тип на алгоритъма | Линейното търсене е итеративно. | Двоичното търсене е Разделете и завладете. |
Ред с код | При линейно търсене трябва да напишем повече код. | При двоично търсене трябва да пишем по-малко код. |
Линейно търсене
Линейното търсене е много сложен алгоритъм, ако искате да търсите число в списък, да сравните и повторите някои пъти броя на стойностите в списъка. Всеки по един елемент от списъка се извлича и сравнява със съседния елемент. Достъпват се всички елементи и се проверяват и след това се намира правилния елемент. Възможно е най-лошият случай, ако последният номер в списъка е числото, което трябва да се търси. Линейното търсене е методът, чрез който се преминава масивът и се основава търсеният елемент. Ако говорим за ефективността, ефективността е броя пъти, през които програмата трябва да се изпълни, за да намери числото. Ако намерим търсеното число на първа позиция, тогава трябва да се направи само едно сравнение и нещата са подредени, но ако не, тогава сравненията трябва да се правят отново и отново и паметта се губи. Средно броят на сравненията ще бъде (n + 1/2). И най-лошият случай ефективността на тази техника е, че O (n) означава реда на изпълнение.
Двоично търсене
В сравнение с линейното търсене, бинарното търсене е много ефективно. При този метод масивът е разделен на две части и по този начин броят на сравненията е много по-малък в сравнение с двоичното търсене. Времето също е по-малко при бинарното търсене в сравнение с линейното търсене. Бинарното търсене работи по начина, по който е намерен средният елемент от масива и след това средният елемент се сравнява с една част от масива.
Може да има три възможности, които са средно число, може да бъде числото, което трябва да намерим, или числото, което е по-малко от средното число или числото, което е по-голямо от средата на средното число. Броят на сравненията е най-много log (N + 1). Двоичното търсене в сравнение с линейното търсене е ефективен алгоритъм в сравнение с линейното търсене, но масивът трябва да бъде сортиран, преди да извършите двоичното търсене.
Ключови разлики
- Линейно търсене всеки елемент се проверява и сравнява и след това се сортира, докато двоичното търсене на списък, който трябва да бъде сортиран, се разделя на две части и след това се сортира.
- Временната сложност на линейното търсене е 0 (N), докато сложността на време в двоичното търсене е O (лог2Н).
- Линейното търсене е итеративно, докато двоичното търсене е Разделете и завладейте.
- При линейното търсене трябва да пишем повече код, докато при двоично търсене трябва да пишем по-малко код.
заключение
В тази статия по-горе виждаме ясната разлика между линейното търсене и двоичното търсене.