Różnica między wyszukiwaniem liniowym a wyszukiwaniem binarnym
Zawartość
Wyszukiwanie liniowe i wyszukiwanie binarne to dwie metody stosowane w tablicach badawczy elementy. Wyszukiwanie to proces znajdowania elementu na liście elementów przechowywanych w dowolnej kolejności lub losowo.
Główną różnicą między wyszukiwaniem liniowym a wyszukiwaniem binarnym jest to, że wyszukiwanie binarne zajmuje mniej czasu na wyszukiwanie elementu z posortowanej listy elementów. Można więc wywnioskować, że wydajność metody wyszukiwania binarnego jest większa niż w przypadku wyszukiwania liniowego.
Inna różnica między nimi polega na tym, że wyszukiwanie binarne jest warunkiem wstępnym, tzn. Elementy muszą być posortowane podczas gdy w wyszukiwaniu liniowym nie ma takich wymagań wstępnych. Chociaż obie metody wyszukiwania wykorzystują różne techniki omówione poniżej.
- Wykres porównania
- Definicja
- Kluczowe różnice
- Wniosek
Wykres porównania
Podstawa do porównania | Wyszukiwanie liniowe | Wyszukiwanie binarne |
---|---|---|
Złożoność czasu | NA) | O (log 2 N) |
Najlepszy czas sprawy | Pierwszy element O (1) | Element środkowy O (1) |
Warunek wstępny dla tablicy | Nie wymagane | Tablica musi być posortowana |
Najgorszy przypadek dla liczby N elementów | Wymagane jest porównanie N | Można zawrzeć tylko po zalogowaniu2 N porównania |
Może być wdrożony w dniu | Tablica i lista połączona | Nie można bezpośrednio zaimplementować na połączonej liście |
Wstaw operację | Łatwo wstawiany na końcu listy | Wymagaj przetwarzania, aby wstawić w odpowiednim miejscu, aby zachować posortowaną listę. |
Rodzaj algorytmu | Iteracyjny z natury | Dziel i rządź w naturze |
Przydatność | Łatwy w użyciu i nie wymaga żadnych zamówionych elementów. | W każdym razie skomplikowane algorytmy i elementy powinny być uporządkowane w kolejności. |
Linie kodu | Mniej | Więcej |
Definicja wyszukiwania liniowego
W wyszukiwaniu liniowym każdy element tablicy jest pobierany jeden po drugim w logicznej kolejności i sprawdzany, czy jest to pożądany element, czy nie. Wyszukiwanie zakończy się niepowodzeniem, jeśli wszystkie elementy zostaną otwarte, a żądany element nie zostanie znaleziony. W najgorszym przypadku liczba przeciętnego przypadku może być potrzebna do zeskanowania połowy rozmiaru tablicy (n / 2).
Dlatego też wyszukiwanie liniowe można zdefiniować jako technikę sekwencyjnego przemierzania tablicy w celu zlokalizowania danego elementu. Program podany poniżej ilustruje wyszukiwanie elementu tablicy za pomocą funkcji wyszukiwania.
Wydajność wyszukiwania liniowego
Zużycie czasu lub liczba porównań dokonanych podczas wyszukiwania rekordu w tabeli wyszukiwania determinuje wydajność techniki. Jeśli żądany rekord znajduje się na pierwszej pozycji tabeli wyszukiwania, wówczas wykonywane jest tylko jedno porównanie. Gdy pożądany zapis jest ostatnim, należy dokonać porównań n. Jeśli rekord ma być prezentowany gdzieś w tabeli wyszukiwania, średnia liczba porównań wyniesie (n + 1/2). Najgorszy przypadek skuteczności tej techniki to O (n) oznacza kolejność wykonywania.
Program C. do wyszukiwania elementu za pomocą techniki wyszukiwania liniowego.
#zawierać Wyszukiwanie binarne jest niezwykle wydajnym algorytmem. Ta technika wyszukiwania zużywa mniej czasu na wyszukiwanie danego elementu w minimalnych możliwych porównaniach. Aby przeprowadzić wyszukiwanie binarne, najpierw musimy posortować elementy tablicy. Logikę tej techniki podano poniżej: Mogą wystąpić trzy przypadki: Powtarzaj te same kroki, aż element zostanie znaleziony lub wyczerpany w obszarze wyszukiwania. W tym algorytmie za każdym razem zmniejsza się obszar wyszukiwania. Dlatego liczba porównań jest co najwyżej log (N + 1). W rezultacie jest to wydajny algorytm w porównaniu do wyszukiwania liniowego, ale tablica musi zostać posortowana przed wykonaniem wyszukiwania binarnego. Program C. znaleźć element z techniką wyszukiwania binarnego. #zawierać W zależności od aplikacji przydatne mogą być zarówno algorytmy wyszukiwania liniowego, jak i binarnego. Gdy tablica jest strukturą danych, a elementy są ułożone w posortowanej kolejności, preferowane jest wyszukiwanie binarne szybkibadawczy. Jeśli połączona lista jest strukturą danych bez względu na to, jak rozmieszczone są elementy, wyszukiwanie liniowe jest przyjmowane z powodu niedostępności bezpośredniej implementacji algorytmu wyszukiwania binarnego. Typowy algorytm wyszukiwania binarnego nie może być zastosowany do listy połączonej, ponieważ lista połączona ma charakter dynamiczny i nie wiadomo, gdzie faktycznie przypisano środkowy element. Dlatego istnieje potrzeba zaprojektowania wariantu algorytmu wyszukiwania binarnego, który może również działać na liście połączonej, ponieważ wyszukiwanie binarne jest szybsze w wykonywaniu niż wyszukiwanie liniowe.Definicja wyszukiwania binarnego
Wniosek