Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.12.2014
Сообщений: 9

Алгоритм двоичного поиска в рекурсивной форме

22.12.2014, 08:27. Показов 1572. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запрограммируйте алгоритм двоичного поиска в рекурсивной форме.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.12.2014, 08:27
Ответы с готовыми решениями:

Алгоритм двоичного поиска целевого значения из выборки N чисел
Написать программу реализующую алгоритм двоичного поиска целевого значения из выборки N чисел (использовать любой язык программирования). ...

Как запрограммировать в рекурсивной форме алгоритм бинарного поиска
Помогите пожалуйста!!! Как запрограммировать в рекурсивной форме алгоритм бинарного поиска

Правильно ли реализован алгоритм двоичного поиска?
проверьте пожулайста -все ли правильно написал... def main (arr, key): n = len(arr) first = 0 last = n mid ...

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
22.12.2014, 10:35
Лучший ответ Сообщение было отмечено Самаана как решение

Решение

Например так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
uses crt;
type mas =array[1..30] of integer;
Procedure vvod(var m:mas;var n:integer);
var i:integer;
Begin
repeat
write('Введите размер массива n>1 n=');
readln(n);
until n>1;
writeln('Введите упорядоченный по возрастанию массив из',n,' элементов');
write('m[1]=');
readln(m[1]);
for i:=2 to n do
 begin
  repeat
  write('m[',i,']=');
  readln(m[i])
  until m[i]>m[i-1]
 end;
clrscr;
writeln('Массив:');
for i:=1 to n do
write(m[i],' ');
writeln
end;
Procedure bin(m:mas;first,last,x:integer;var i:integer);
var c : integer;
begin
if first>last then exit;
i:=0;
c:=(first + last) div 2;
if m[c]=x then i:=c
else if m[c]>x then bin(m,first,c-1,x,i)
else bin(m,c+1,last,x,i);
end;
var a:mas;
    n,x:integer;
    i:integer;
begin
vvod(a,n);
writeln('что искать?');
readln(x);
bin(a,1,n,x,i);
if i=0 then write('Числа нет в массиве')
else write('Номер числа ',x,' в массиве=',i)
end.
Добавлено через 7 минут
Или с функцией
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
uses crt;
type mas =array[1..30] of integer;
Procedure vvod(var m:mas;var n:integer);
var i:integer;
Begin
repeat
write('Введите размер массива n>1 n=');
readln(n);
until n>1;
writeln('Введите упорядоченный по возрастанию массив из',n,' элементов');
write('m[1]=');
readln(m[1]);
for i:=2 to n do
 begin
  repeat
  write('m[',i,']=');
  readln(m[i])
  until m[i]>m[i-1]
 end;
clrscr;
writeln('Массив:');
for i:=1 to n do
write(m[i],' ');
writeln
end;
function bin(m:mas;first,last,x:integer):integer;
var c : integer;
begin
if first>last then
 begin
  bin:=0;
  exit;
 end;
c:=(first + last) div 2;
if m[c]=x then bin:=c
else if m[c]>x then bin:=bin(m,first,c-1,x)
else bin:=bin(m,c+1,last,x);
end;
var a:mas;
    n,x:integer;
    i:integer;
begin
vvod(a,n);
writeln('что искать?');
readln(x);
if bin(a,1,n,x)=0 then write('Числа ',x,' в массиве нет')
else write('Число ',x,' в массиве есть, его номер=', bin(a,1,n,x))
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2014, 10:35
Помогаю со студенческими работами здесь

Записать алгоритм двоичного поиска элемента в массиве
Записать алгоритм двоичного поиска заданного элемента X в массиве A(1..N).

Реализовать алгоритм двоичного поиска в линейном отсортированном массиве
реализовать алгоритм двоичного поиска в линейном отсортированном массиве.описать лучшие и худшие случаи для определения трудоемкости...

Составить программу поиска элементов в массиве на основе метода двоичного поиска
Составить программу поиска элементов в массиве на основе метода двоичного поиска.

Написать программу поиска заданного значения в отсортированном массиве методом двоичного поиска
Помогите с программой, вот задание: Написать программу поиска заданного значения в отсортированном массиве методом двоичного поиска ...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void lab () { int s1 = 0; int s2 =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru