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 строчки. |
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![]() ![]() |
|
Текстовая версия | 9.09.2025 7:15 |