Wyszukiwanie liniowe a wyszukiwanie binarne

Autor: Laura McKinney
Data Utworzenia: 4 Kwiecień 2021
Data Aktualizacji: 14 Móc 2024
Anonim
Linear & Binary Search Algorithms
Wideo: Linear & Binary Search Algorithms

Zawartość

Różnica między wyszukiwaniem liniowym a wyszukiwaniem binarnym polega na tym, że w wyszukiwaniu liniowym każdy element jest sprawdzany i porównywany, a następnie sortowany, podczas gdy w wyszukiwaniu binarnym lista do sortowania jest podzielona na dwie części, a następnie sortowana. Wyszukiwanie i sortowanie to dwie główne koncepcje w programowaniu komputerowym. Wiele algorytmów jest używanych do wyszukiwania i sortowania, ale dwa najczęściej stosowane algorytmy do wyszukiwania i sortowania to wyszukiwanie liniowe i wyszukiwanie binarne.


Różnica między wyszukiwaniem liniowym a wyszukiwaniem binarnym polega na działaniu i wydajności obu algorytmów. Wyszukiwanie binarne jest znacznie wydajniejszym algorytmem w porównaniu z algorytmem wyszukiwania liniowego. W przypadku wyszukiwania binarnego iteracja lub czas potrzebny na porównanie każdej wartości przed sortowaniem jest mniejszy niż w przypadku wyszukiwania liniowego.

Wyszukiwanie liniowe jest bardzo złożonym algorytmem, jeśli chcesz wyszukać liczbę na liście, porównać i czasami iterować liczbę wartości na liście. Każdy element listy jest pobierany jeden po drugim i porównywany z sąsiednim elementem. Wszystkie elementy są dostępne i sprawdzane, a następnie znajduje się odpowiedni element. Najgorszy może być przypadek, gdy ostatni numer na liście to numer, który ma zostać przeszukany. Wyszukiwanie liniowe to metoda, za pomocą której tablica jest przesuwana, a element, który ma być przeszukiwany, jest tworzony. Jeśli mówimy o wydajności, wydajność to liczba uruchomień programu w celu znalezienia liczby. Jeśli znajdziemy liczbę, której szukamy na pierwszej pozycji, trzeba wykonać tylko jedno porównanie, a rzeczy zostaną posortowane, ale jeśli nie, porównania będą musiały się powtarzać raz po raz, a pamięć zostanie zmarnowana. Średnio liczba porównań będzie wynosić (n + 1/2). A najgorszym przypadkiem tej techniki jest O (n) oznacza kolejność wykonywania.


W porównaniu z wyszukiwaniem liniowym wyszukiwanie binarne jest bardzo wydajne. W tej metodzie tablica jest podzielona na dwie części i w ten sposób liczba porównań jest bardzo mniejsza w porównaniu do wyszukiwania binarnego. Czas jest także krótszy w wyszukiwaniu binarnym w porównaniu do wyszukiwania liniowego. Wyszukiwanie binarne działa w taki sposób, że znaleziony jest środkowy element tablicy, a następnie środkowy element jest porównywany z jedną częścią tablicy. Mogą istnieć trzy możliwości, które są liczbą środkową, może być liczbą, którą musimy znaleźć, lub liczbą mniejszą niż liczba środkowa lub liczbą większą niż środek liczby środkowej. Liczba porównań jest co najwyżej log (N + 1). Wyszukiwanie binarne w porównaniu z wyszukiwaniem liniowym jest wydajnym algorytmem w porównaniu z wyszukiwaniem liniowym, ale tablica musi zostać posortowana przed rozpoczęciem wyszukiwania binarnego.

Treść: Różnica między wyszukiwaniem liniowym a wyszukiwaniem binarnym

  • Wykres porównania
  • Wyszukiwanie binarne
  • Kluczowe różnice
  • Wniosek
  • Film wyjaśniający

Wykres porównania

PodstawaWyszukiwanie linioweWyszukiwanie binarne
ZnaczenieWyszukiwanie liniowe każdy element jest sprawdzany i porównywany, a następnie sortowany

Wyszukiwanie binarne lista, która ma zostać posortowana, jest podzielona na dwie części, a następnie posortowana.


 

Złożoność czasuZłożoność czasowa wyszukiwania liniowego wynosi O (N).Złożoność czasowa wyszukiwania binarnego wynosi O (log 2 N)
Rodzaj algorytmuWyszukiwanie liniowe jest iteracyjne.Wyszukiwanie binarne to Dziel i rządź.
Linia koduW wyszukiwaniu liniowym musimy napisać więcej kodu.W wyszukiwaniu binarnym musimy napisać mniej kodu.

Wyszukiwanie liniowe

Wyszukiwanie liniowe jest bardzo złożonym algorytmem, jeśli chcesz wyszukać liczbę na liście, porównać i powtórzyć kilka razy liczbę wartości na liście. Każdy element listy jest pobierany jeden po drugim i porównywany z sąsiednim elementem. Wszystkie elementy są dostępne i sprawdzane, a następnie znajduje się odpowiedni element. Najgorszy może być przypadek, gdy ostatni numer na liście to numer, który ma zostać przeszukany. Wyszukiwanie liniowe to metoda, za pomocą której tablica jest przesuwana, a element, który ma być przeszukiwany, jest tworzony. Jeśli mówimy o wydajności, wydajność to liczba uruchomień programu w celu znalezienia liczby. Jeśli znajdziemy liczbę, której szukamy na pierwszej pozycji, trzeba wykonać tylko jedno porównanie, a rzeczy zostaną posortowane, ale jeśli nie, porównania będą musiały się powtarzać raz po raz, a pamięć zostanie zmarnowana. Średnio liczba porównań będzie wynosić (n + 1/2). A najgorszym przypadkiem skuteczności tej techniki jest O (n) oznacza kolejność wykonywania.

Wyszukiwanie binarne

W porównaniu z wyszukiwaniem liniowym wyszukiwanie binarne jest bardzo wydajne. W tej metodzie tablica jest podzielona na dwie części i w ten sposób liczba porównań jest bardzo mniejsza w porównaniu do wyszukiwania binarnego. Czas jest także krótszy w wyszukiwaniu binarnym w porównaniu do wyszukiwania liniowego. Wyszukiwanie binarne działa w sposób, w jaki znajduje się środkowy element tablicy, a następnie środkowy element jest porównywany z jedną częścią tablicy.

Mogą istnieć trzy możliwości, które są liczbą środkową, może być liczbą, którą musimy znaleźć, lub liczbą mniejszą niż liczba środkowa lub liczbą większą niż środek liczby środkowej. Liczba porównań jest co najwyżej log (N + 1). Wyszukiwanie binarne w porównaniu z wyszukiwaniem liniowym jest wydajnym algorytmem w porównaniu z wyszukiwaniem liniowym, ale tablica musi zostać posortowana przed rozpoczęciem wyszukiwania binarnego.

Kluczowe różnice

  1. Wyszukiwanie liniowe każdy element jest sprawdzany i porównywany, a następnie sortowany, podczas gdy wyszukiwanie binarne lista, która ma zostać posortowana, jest dzielona na dwie części, a następnie sortowana.
  2. Złożoność czasowa wyszukiwania liniowego wynosi 0 (N), natomiast złożoność czasowa wyszukiwania binarnego wynosi O (log2N).
  3. Wyszukiwanie liniowe jest iteracyjne, podczas gdy wyszukiwanie binarne to Dziel i rządź.
  4. W wyszukiwaniu liniowym musimy pisać więcej kodu, podczas gdy w wyszukiwaniu binarnym musimy pisać mniej kodu.

Wniosek

W powyższym artykule widzimy wyraźną różnicę między wyszukiwaniem liniowym a wyszukiwaniem binarnym.

Film wyjaśniający