IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> бинарный поиск. поля с рекурсией.
lopata
сообщение 19.01.2010 21:14
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 99
Пол: Женский
Реальное имя: vera

Репутация: -  0  +


Бинарный поиск может быть применим на одно поле, в которое элемент сортировочно внесен.
Идея бинарного поиска состоит в том, чтобы сначала рассматривать средний элемент. Если он Искомый, тогда с успехом прерываете. Если не искомый, тогда можно через сравнение искомого элемента со средним установить, нужно ли в нижней или в верхней половине поля дальше искать. При каждом неудачном шаге поиска длина исследоваемой области (досягаемости) поля делится пополам.Это ведет к логарифмеческому Run-time:
при n элементах имеется 0(ld n) Шагов поиска.
Осуществите основе типа
TYPE
IntArray = array [...] of integer
рекурсивный алгоритм:
FUNCTION Contains (a :IntArray ; left,right : integer; x : integer) :BooLean;

который в сотрированном поле а внутри области [left...right] бинарно после значения х ищет и результат TRUE возвращает, когда х в поле оказывается.
Вышеуказанная фунукция использует call by value.

не совсем понимаю задания. очень туго доходит. хотя уверена что когда 2 строчки.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
lopata   бинарный поиск. поля с рекурсией.   19.01.2010 21:14
lopata   сам бинарные деревья в принципе понимани. но непон...   19.01.2010 21:46
Archon   Не следует путать простой бинарный поиск и бинарно...   19.01.2010 22:18
volvo   А причем тут бинарные деревья? Они к бинарному пои...   19.01.2010 22:30
lopata   Все, товарищи, спасибо. Дико ступила. стыдно   19.01.2010 22:51
lopata   Ошибка использования BB кодов форума. Возможно вы ...   20.01.2010 1:08
lopata   Не. не правильно.. вот кое-что изменила: FUNCTION...   20.01.2010 22:35
Archon   И все-таки неправильно. Покажи целиком программу, ...   20.01.2010 22:55
lopata   Archon, честно говоря не совсем понимаю о чем ты ...   20.01.2010 23:49
Archon   Ну смотри: L - это же Left (левая граница интервал...   21.01.2010 0:20
lopata   аха, это поняла...наоборот Добавлено через 1 мин...   21.01.2010 0:24
Archon   А ты проверь с приведенным выше массивом. Там всег...   21.01.2010 0:43
lopata   все равно не понимаю/   21.01.2010 1:39
Archon   На приведенных мной исходных данных функция из рек...   21.01.2010 2:53
lopata   это я уже поняла... тогда нужно поставить условие ...   21.01.2010 3:16
lopata   алилуя... или очередное заблуждение или просвет : ...   21.01.2010 3:49
Archon   Ну, не совсем =) Лучше было бы так сделать:FUNCTIO...   21.01.2010 10:55
volvo   лучше заменить на if L + 1 = R then Contains := ...   21.01.2010 19:50
lopata   Dev-Pascal это оболочка. Компилятор, который там ...   21.01.2010 21:06
volvo   :blink: Уже 2.2.4 на дворе... Ты б скачала новую ...   21.01.2010 21:12
lopata   ну как..если в DevPascal не работает, я в FPC пров...   21.01.2010 21:16
lopata   Всем спасибо. :) Жаль , что до меня все туго дохо...   22.01.2010 5:04


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 21:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"