Jak wdrożyć wyszukiwanie binarne w C

Jak wdrożyć wyszukiwanie binarne w C
Wyszukiwanie binarne to technika wyszukiwania używana do przydzielenia dokładnej pozycji wymaganego elementu w sortowanej tablicy. Dzieli tablicę na dwie części wielokrotnie od przedziału, aż znajdzie dokładny element w tablicy. Wyszukiwanie binarne czasami jest nazywany dziel i rządź algorytm, ponieważ dzieli tablicę na wiele kawałków i wykonuje wyszukiwanie, aż element zostanie znaleziony. Dwójkowy szukaj jest szybką i prostą metodą wyszukiwania w celu znalezienia elementu w określonej pozycji w szybkim czasie.

W tym artykule pokażemy, jak wdrożyć Wyszukiwanie binarne W języku programowania C.

Jak wdrożyć wyszukiwanie binarne w C

Korzystają programiści Wyszukiwanie binarne Aby uprościć proces wyszukiwania, ponieważ jest on dość korzystny w zapewnieniu wyników w bardzo krótkim czasie. Złożoność czasu binarnego szukaj Algorytm to O (logn), który może być skuteczny w programie, w którym dany zestaw danych jest zbyt duży, aby można go było przeszukiwać liniowo.

Algorytm Wyszukiwanie binarne W C działa w następujący sposób:

  • Po pierwsze, definiujesz element obrotu, który chcesz wyszukać.
  • Jeśli wartość obrotu = wartość środka, wyszukiwanie jest zakończone, inaczej kontynuuj.
  • Porównaj element obrotu z elementem środkowym w tablicy.
  • Jeśli wartość obrotu jest < than the center element, it will search the element from left side of array to center element.
  • Jeśli wartość obrotu wynosi> niż wartość elementu środkowego, będzie wyszukiwać z prawej strony tablicy.
  • Powtórz ostatnie dwa kroki, aż uzyskasz obrotek.

Poniżej jest wdrożenie Wyszukiwanie binarne program w języku C:

#włączać
int main ()

int i, po lewej, prawej, środkowej, num, obrotu, Newarr [50];
printf („Wprowadź całkowitą liczbę elementu:”);
Scanf („%d” i num);
printf („Enter %d Integer Element:”, num);
dla (i = 0; i < num; i++)
Scanf („%D” i Newarr [i]);
printf („Wprowadź wartość, którą możesz znaleźć:”);
Scanf („%D” i Pivot);
lewy = 0;
right = num - 1;
Middle = (lewy+prawy)/2;
While (po lewej <= right)
if (Newarr [Middle] < pivot)
po lewej = środkowy + 1;
else if (Newarr [Middle] == Pivot)
printf (" %d znalezione w miejscu %d.num ", obrotowy, środkowy+1);
przerwa;

w przeciwnym razie
Right = Middle - 1;
Middle = (lewy + prawy)/2;

if (po lewej> po prawej)
printf („Element nie został znaleziony! %D nie jest obecne na liście.num ", obrotowe);
powrót 0;

W powyższym kodzie najpierw zainicjujemy zmienne, a następnie przyjmujemy całkowitą liczbę elementów od użytkownika num zmienne i weź wartości w tablicy od użytkownika do I. Następnie ze zmiennej PIVOT decydujemy o dopasowaniu i dopasowywaniu start od lewego indeksu 0 do indeksu końcowego. Następnie dzielimy tablicę jako środkowy = (lewy+prawy)/2. Następnie używamy pętli While, aby znaleźć obrotek przez warunek if, który znajduje element i wygeneruje wyjście z numerem indeksu elementu, jeśli zostanie znaleziony inaczej.

Oto wyjście kodu.

Wniosek

Wyszukiwanie binarne jest potężnym algorytmem zawężenia wyboru przedmiotów w tablicy. Dzieli sekcję listy na połówki, które mogą naprawdę zawierać obiekt na połowę i powtórzyć proces ponownie, aż pozostanie tylko jedna wykonalna pozycja lub wynik. W wyżej wymienionych wytycznych widzieliśmy co Wyszukiwanie binarne Jest; i jak możemy użyć Wyszukiwanie binarne W kodzie językowym C. Krótko mówiąc, wyszukiwanie binarne jest bardzo przydatną techniką wyszukiwania w języku C.