luni, 24 martie 2008

Algoritm de căutare binară

Se împarte timpul în două, cam pe acolo unde se crede că e mijlocul* ; dacă mijlocul coincide întamplător cu numărul căutat, în cazul nostru the apogee of life, se returnează 1: 1 om fericit, 1 cap mai sus desupra celorlalţi, 1 şut în fund =1 un pas înainte . Dacă nu coincide, se aplică recursiv algoritmul, în cele două jumătăţi delimitate spre interior de mijloc(pleonastic şi ultraexplicit, ştiu!), eventual până la exasperare, până te saturi să te întrebi dacă ai ajuns la mijloc, pe culme sau pe val. Dacă vezi şi vezi că-ţi mărunţeşti viaţa până ajunge praf, singura concluzie e 'return 0', adică nu ai avut şi nu o să ai vreodată o culme a destinului, cel puţin pe aia pe care o râvneai tu(mai precis, dacă asociem o funcţie f:your life -> multeşimărunte, graficul funcţiei f(x)=XeventXinXyourXlife , sub formă de parabolă, este convex, cu punct minim în vârf şi cu punct maxim =... unknown).
If (căutare (life)) then go on,// s-ar putea să găseşti de mai multe ori această valoare maximă.
else cout<<"viaţa-i grea, dar trece!"; ...dar am uitat sa deschid funcţia principală, so...a fost doar un preview sau 'function 'cautare' must have a prototype'...

Niciun comentariu: