Algoritmi ajaline keerukus
3. T(n) onO(f(n)), kui f(n) on O(n logb a +e ) mingi positiivse konstandi e korral
ning af(n/b)<=cf(n), (c<1) küllalt suurte n väärtuste korral.
Kahendotsingu algoritmi korral on meil a=1 ja b=2, seetõttu logba=0 ja n logb a = 1.
Et kahendotsingu algoritmi korral f(n) on O(1), siis saame rakendada teoreemi punkti
nr.2, mille kohaselt T(n) on O(log(n)).
Muidugi ei esitata isegi sama algoritmi alati täpselt ühtemoodi. Eespool näites kasutati
kahenotsingu algoritmis while lauset. Sageli realiseeritakse aga kahendotsing
rekurentset pöördumist kasutades.
Ülesanne1: Realiseerida kahendotsing rekurentset funktsiooni poole pöördumist
kasutades. (Vaata C++ teemat funktsioonid).
Ülesanne2: Teha uus rakendus, lisades kahendotsingut kasutavasse programmi
(täpsemalt funktsiooni main()) järjestamist teostava funktsiooni. Võrrelda lineaarseks
otsinguks ja kahendotsinguks kuluvat aega kasutades lähteandmetena juhuslike