Complexitat temporal de Cerca binària és O(log n) , on n és el nombre d'elements de la matriu. Divideix la matriu per la meitat a cada pas. Complexitat espacial és O(1) ja que utilitza una quantitat constant d'espai addicional.
caràcter a cadena en java

Exemple d'algoritme de cerca binari
| Aspecte | Complexitat |
|---|---|
| Complexitat temporal | O(log n) |
| Complexitat espacial | O(1) |
Les complexitats de temps i espai de l'algorisme de cerca binària s'esmenten a continuació.
Complexitat temporal de Algorisme de cerca binària :
Complexitat del millor temps de cas de l'algoritme de cerca binària: O(1)
El millor dels casos és quan l'element es troba a l'índex mitjà de la matriu. Només cal una comparació per trobar l'element objectiu. Així que el millor dels casos és la complexitat O(1) .
Complexitat mitjana del temps de cas de l'algoritme de cerca binari: O (log N)
Considereu la matriu arr[] de longitud N i element X per trobar-se. Hi pot haver dos casos:
100 km/h en mph
- Cas 1: L'element és present a la matriu
- Cas 2: L'element no és present a la matriu.
N'hi ha N Cas 1 i 1 Cas 2. Per tant, nombre total de casos = N+1 . Ara observeu el següent:
- Es pot trobar un element de l'índex N/2 a 1 comparació
- Els elements de l'índex N/4 i 3N/4 es poden trobar a 2 comparacions.
- Els elements dels índexs N/8, 3N/8, 5N/8 i 7N/8 es poden trobar a 3 comparacions i així successivament.
A partir d'això podem concloure que els elements que requereixen:
- 1 comparació = 1
- 2 comparacions = 2
- 3 comparacions = 4
- x comparacions = 2 x-1 on x pertany a la gamma [1, logN] perquè comparacions màximes = temps màxim N es pot reduir a la meitat = comparacions màximes per arribar al 1r element = logN.
Per tant, comparacions totals
= 1*(elements que requereixen 1 comparació) + 2*(elements que requereixen 2 comparacions) + . . . + logN* (elements que requereixen comparacions de logN)
= 1*1 + 2*2 + 3*4 + . . . + logN * (2logN-1)
= 2calma* (logN – 1) + 1
= N * (logN – 1) + 1Nombre total de casos = N+1 .
Per tant, la complexitat mitjana = ( N*(logN – 1) + 1)/N+1 = N*logN / (N+1) + 1/(N+1) . Aquí el terme dominant és N*logN/(N+1), que és aproximadament calma . Per tant, la complexitat mitjana del cas és O(logN)
Complexitat del temps del pitjor cas de l'algoritme de cerca binària: O (log N)
El pitjor dels casos serà quan l'element estigui present en la primera posició. Com es veu en el cas mitjà, la comparació necessària per arribar al primer element és calma . Per tant, la complexitat del temps per al pitjor dels casos és O(logN) .
Complexitat de l'espai auxiliar de l'algoritme de cerca binària
El complexitat de l'espai auxiliar del Algorisme de cerca binària és O(1) , el que significa que requereix una quantitat constant d'espai addicional independentment de la mida de la matriu d'entrada. Això es deu al fet que Binary Search és un algorisme iteratiu que no requereix estructures de dades addicionals ni recursivitat que creix amb la mida d'entrada. Tot i que, també podem implementar la cerca binària de forma recursiva.
Característiques de java 8