Что такое ключ-за что отвечает переменная? const N=20;
type Arr=array[1..N] of integer;
var
mid, left, right, key, i,j: integer;
A: Arr;
function BinarySearch(A: Arr; key: integer): integer;
begin
left:=1; right:=N;
while left<=right do
begin
mid:=left+(right-left) div 2;
If (keyA[mid]) then left:=mid+1
else begin BinarySearch:=mid; exit; end;
end;
BinarySearch:=-1;
end;
begin
write('Input number '); read(key);
write('Array: ');
for i:=1 to N do
begin
A[i]:=N*i;
write(A[i], ' ');
end;
writeln;
for i := 1 to n do
if key = A[i] then j := i;
if j = 0 then writeln('Linear: Not found')
else writeln('Linear Index: ', j);
if (BinarySearch(A, key)=-1) then write('Binary: Not found')
else write('Binary Index: ', BinarySearch(A, key));
end.

Сформируйте упорядоченный массив из не менее 20 элементов и выясните, существует ли число X и его позиция. Используйте линейный (последовательный) поиск и бисекционный поиск. Сравните количество шагов, необходимых для каждого метода.

kartil kartil    2   18.06.2020 17:55    1

Другие вопросы по теме Информатика