Algoritmi ajaline keerukus
CLOCKS_PER_SEC on samaväärsed, kuid viimast saab kasutada ainult uuemates
kompilaatorites.
Kahendotsing
Probleemi püstitus: Eeeldatakse et massiiv on järjestatud (kasvavalt). Otsime
massiivist etteantud arvuga võrdset elementi. Etteantud elementi võrdleme massiivi
keskmise elemendiga, kui etteantud element on keskmisest väiksem võrdne siis
jätkame otsinguid massiivi esimeses pooles vastasel korral teises pooles. Võrdleme
etteantud elementi järelejäänud massiviosa keskmise elemendiga jne. Otsingu lõpu
tunnusena võime kasutada tingimust et alammassiivi suurim element on suurem
vähimast.
C++ kood on järgmine(kasutades while tsükli lauset):
#include
#include
#include
const int N=10;
int kahendotsing(int a[N],int N,int x);
int main() {
time_t algusaeg, lopuaeg;
int tooaeg;
algusaeg= clock();
int a[10]={1,2,3,4,5,6,7,8,9,10};
int x=5;
int vastus=kahendotsing(a,N,x);