Complexitatea timpului de Căutare binară este O(log n) , Unde n este numărul de elemente din matrice. Împarte matricea în jumătate la fiecare pas. Complexitatea spațială este O(1) deoarece folosește o cantitate constantă de spațiu suplimentar.
exemple de arbori binari

Exemplu de algoritm de căutare binar
| Aspect | Complexitate |
|---|---|
| Complexitatea timpului | O(log n) |
| Complexitatea spațială | O(1) |
Complexitățile de timp și spațiu ale algoritmului de căutare binar sunt menționate mai jos.
Complexitatea timpului de Algoritmul de căutare binar :
Complexitatea timpului cel mai bun caz al algoritmului de căutare binar: O(1)
Cel mai bun caz este atunci când elementul se află la mijlocul indexului matricei. Este nevoie de o singură comparație pentru a găsi elementul țintă. Deci, cel mai bun caz de complexitate este O(1) .
Complexitatea timpului mediu al cazului al algoritmului de căutare binar: O(log N)
Luați în considerare matricea arr[] de lungime N și element X a fi gasit. Pot exista doua cazuri:
- Cazul 1: Elementul este prezent în matrice
- Cazul 2: Elementul nu este prezent în matrice.
Sunt N Cazul1 și 1 Cazul 2. Deci numărul total de cazuri = N+1 . Acum observați următoarele:
- Un element la indicele N/2 poate fi găsit în 1 comparaţie
- Elementele de la indicele N/4 și 3N/4 pot fi găsite în 2 comparatii.
- Elementele de la indicii N/8, 3N/8, 5N/8 și 7N/8 pot fi găsite în 3 comparatii si asa mai departe.
Pe baza acestui fapt putem concluziona că elementele care necesită:
- 1 comparație = 1
- 2 comparatii = 2
- 3 comparații = 4
- X comparatii = 2 x-1 Unde X aparține gamei [1, logN] deoarece comparații maxime = timpul maxim N poate fi înjumătățit = comparații maxime pentru a ajunge la primul element = logN.
Deci, comparații totale
= 1*(elementele care necesită 1 comparație) + 2*(elementele care necesită 2 comparații) + . . . + logN* (elementele care necesită comparații logN)
= 1*1 + 2*2 + 3*4 + . . . + logN * (2logN-1)
= 2calm* (logN – 1) + 1
= N * (logN – 1) + 1
forma completă sshNumărul total de cazuri = N+1 .
care a inventat școalaPrin urmare, complexitatea medie = ( N*(logN – 1) + 1)/N+1 = N*logN / (N+1) + 1/(N+1) . Aici termenul dominant este N*logN/(N+1) care este aproximativ calm . Deci complexitatea medie a cazului este O(logN)
Complexitatea timpului cel mai rău caz al algoritmului de căutare binar: O(log N)
Cel mai rău caz va fi atunci când elementul este prezent în prima poziție. După cum se vede în cazul mediu, comparația necesară pentru a ajunge la primul element este calm . Deci complexitatea timpului pentru cel mai rău caz este O(logN) .
Complexitatea spațiului auxiliar al algoritmului de căutare binar
The complexitatea spațiului auxiliar al Algoritmul de căutare binar este O(1) , ceea ce înseamnă că necesită o cantitate constantă de spațiu suplimentar, indiferent de dimensiunea matricei de intrare. Acest lucru se datorează faptului că Binary Search este un algoritm iterativ care nu necesită nicio structură de date suplimentară sau recursivitate care crește odată cu dimensiunea intrării. Deși, putem implementa, de asemenea, Binary Search recursiv.