Бинарный поиск - один из самых простых способов нахождения элемента в массиве

, , , , . . , . . ? ? , .

, , ,





. , , 100000000 , . , , , . , . , - , . , . , .





, ? , , . ( ). , , , , . , – , , . , , . ¼ , ( + )/2. – . , , , .





, , . Pascal - . .

1 h "massiv", , , "niz", , "verh", - "sredn"; - "isk".





, :

niz:= 1; verh:= h + 1;

" ":

While niz < verh - 1 do begin

2:

sredn:= (niz + verh) div 2; { div, }

. , , :

іf sredn=isk then break;

, , :

if massiv [sredn] > isk then verh:= sredn;

, :

else niz := sredn; end;

, .

, . : 1, 3, 5, 7, 10, 12, 18 12.

7 , , 7.

1357101218

12 7, 1,3 5 . 4 , 4/2 2. , 10.

7101218




12 10, 7. 10, 12 18.

12, . – 12 .




All Articles