Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse
Sulge

"kahenotsingu" - 1 õppematerjal

Algoritmi ajaline keerukus
9
doc

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

Matemaatika → Matemaatika ja statistika
51 allalaadimist


Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun