Časovna zapletenost od Binarno iskanje je O(log n) , kje n je število elementov v matriki. Pri vsakem koraku matriko razdeli na pol. Kompleksnost prostora je O(1) saj uporablja stalno količino dodatnega prostora.
poravnava slik v css

Primer algoritma binarnega iskanja
| Vidik | Kompleksnost |
|---|---|
| Časovna zapletenost | O(log n) |
| Kompleksnost prostora | O(1) |
Časovna in prostorska zapletenost algoritma binarnega iskanja je omenjena spodaj.
Časovna zapletenost Algoritem binarnega iskanja :
Časovna zapletenost algoritma binarnega iskanja v najboljšem primeru: O(1)
Najboljši primer je, ko je element na srednjem indeksu matrike. Za iskanje ciljnega elementa je potrebna le ena primerjava. Najboljša zapletenost je torej O(1) .
Povprečna časovna kompleksnost primera binarnega iskalnega algoritma: O(log N)
Razmislite o nizu prihod [] dolžine n in element X najti. Lahko sta dva primera:
- Primer 1: Element je prisoten v nizu
- Primer 2: Element ni prisoten v matriki.
obstajajo n Primer 1 in 1 Primer 2. Torej skupno število primerov = N+1 . Zdaj opazite naslednje:
- Element z indeksom N/2 je mogoče najti v 1 primerjava
- Elemente z indeksoma N/4 in 3N/4 najdete v 2 primerjave.
- Elemente z indeksi N/8, 3N/8, 5N/8 in 7N/8 lahko najdete v 3 primerjave in tako naprej.
Na podlagi tega lahko sklepamo, da elementi, ki zahtevajo:
arraylist sort
- 1 primerjava = 1
- 2 primerjavi = 2
- 3 primerjave = 4
- x primerjave = 2 x-1 kje x spada v obseg [1, logN] ker se lahko največje primerjave = največji čas N prepolovi = največje primerjave, da se doseže 1. element = logN.
Torej totalne primerjave
= 1*(elementi, ki zahtevajo 1 primerjavo) + 2*(elementi, ki zahtevajo 2 primerjavi) + . . . + logN*(elementi, ki zahtevajo primerjave logN)
= 1*1 + 2*2 + 3*4 + . . . + logN * (2logN-1)
= 2miren* (logN – 1) + 1
= N * (logN – 1) + 1Skupno število primerov = N+1 .
Zato je povprečna kompleksnost = ( N*(logN – 1) + 1)/N+1 = N*logN / (N+1) + 1/(N+1) . Tu je prevladujoči izraz N*logN/(N+1), kar je približno miren . Povprečna zapletenost primera je torej O(logN)
mylivericket
Časovna zapletenost algoritma binarnega iskanja v najslabšem primeru: O(log N)
Najslabše bo, če bo element prisoten na prvem mestu. Kot vidimo v povprečnem primeru, je primerjava, potrebna za dosego prvega elementa miren . Torej je časovna zapletenost v najslabšem primeru O(logN) .
Kompleksnost pomožnega prostora binarnega iskalnega algoritma
The kompleksnost pomožnega prostora od Algoritem binarnega iskanja je O(1) , kar pomeni, da zahteva stalno količino dodatnega prostora ne glede na velikost vhodnega polja. To je zato, ker je binarno iskanje iterativni algoritem, ki ne zahteva nobenih dodatnih podatkovnih struktur ali rekurzije, ki raste z velikostjo vnosa. Čeprav lahko binarno iskanje izvajamo tudi rekurzivno.