Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 293

/ вопрос открыт /

Здравствуйте!
Такая ситуация: у меня есть упорядоченный по возрастанию массив чисел. Подскажите, пожалуйста, как мне из него построить бинарное дерево, чтобы потом по нему осуществлять поиск заданного элемента?

NeStor Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: NeStor (статус: Посетитель)
Вопрос отправлен: 16 мая 2011, 22:35
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Толяныч

Здравствуйте, NeStor!
Неясна постановка вопроса. "Поиск заданного элемента" производится по его индексу в массиве. Если надо другой поиск, например : найти индекс элемента массива, содержимое которого равно заданному значению, то это мне напоминает поиск корней уравнения, и можно применить оттуда один из методов : дихотомического деления, метод хорд и т.д.
Первый из названных прост, как грабли : берем середину массива ( число заолненных элементов, конечно, известно ). Если содержимое по этому индексу равно заданному, задача решена. Если нет - делим пополам интервал локализации заданного значения. В результате сходимся к одному элементу или к нулю ( когда i-й элемент <x, а i+1 >x ), тогда задача не имеет решения.
Вот так, в таком конспекте.

Ответ отправил: Толяныч (статус: 4-ый класс)
Время отправки: 16 мая 2011, 23:08
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 11; последнее сообщение — 18 мая 2011, 16:11; участников в обсуждении: 3.
Толяныч

Толяныч (статус: 4-ый класс), 16 мая 2011, 23:14 [#1]:

Если массив целочисленный, то применяем вышеописанный алгоритм. Если вещественный, то результатом может быть номер элемента, наболее близкого по значению к искомому.
NeStor

NeStor (статус: Посетитель), 16 мая 2011, 23:20 [#2]:

Метод поиска "Патриция". Про простой бинарный поиск я знаю, а вот с этим... http://books.google.ru/books?id=92rW-nktlbgC&pg=PA533&lpg=PA533&dq=%D0%BC%D0%B5%D1%82%D0%BE%D0%B4+%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0+%D0%BF%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B8%D1%8F&source=bl&ots=jChoO6wztl&sig=PEunwQpl3_hit6s6Nz3j9we6AJs&hl=ru&ei=i7y1TbP3M4_4sgad8KDgDA&sa=X&oi=book_result&ct=result&resnum=2&ved=0CCUQ6AEwAQ#v=onepage&q=%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%20%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0%20%D0%BF%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B8%D1%8F&f=false
тут есть общий принцип(правда наверное книга в инете не видна. Кнут, 3 том стр с 534 по 536).
мне таким способом искать элемент. для этого нужно что-то строить??
Толяныч

Толяныч (статус: 4-ый класс), 17 мая 2011, 00:16 [#3]:

Так тебе - для криптографии ? так бы и сразу сказал, я в этой части не копенгаген. Взламывать банковские карточки ? У, редиска ! :)
NeStor

NeStor (статус: Посетитель), 17 мая 2011, 00:29 [#4]:

не...=) это у меня курсовая такая. только вот большая доля подозрения что сам препод у меня ничего этого не понимает, а как я должен разобраться вообще не понимаю.....
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 17 мая 2011, 06:07 [#5]:

на форуме уже был вопрос про метод "Патриция"

17 мая 2011, 09:59: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Алгоритмы, преобразования модератором Ерёмин А.А.

Толяныч

Толяныч (статус: 4-ый класс), 17 мая 2011, 14:00 [#6]:

NeStor:
> большая доля подозрения что сам препод у меня ничего этого не понимает

Да, к сожалению, много преподов развелось типа: я ни фига в этом не петрю, так может, студенты, сдавая курсон, мне объяснят.

Кто умеет, тот делает, кто не умеет - учит других, как надо делать. (Неопубликованный закон Мэрфи )
NeStor

NeStor (статус: Посетитель), 17 мая 2011, 14:25 [#7]:

говорите уже был вопрос про Патрицию? можно ссылочку на обсуждение? а то я найти почему-то не могу. в каком хоть разделе смотреть подскажите, пожалуйста
Толяныч

Толяныч (статус: 4-ый класс), 17 мая 2011, 20:53 [#8]:

Попробуй у Гуголя спросить так :
Патриция site:delphi.int.ru
NeStor

NeStor (статус: Посетитель), 17 мая 2011, 21:04 [#9]:

так это мой же вопрос)))
Толяныч

Толяныч (статус: 4-ый класс), 18 мая 2011, 11:26 [#10]:

Действительно :) Так вроде и отвечено было много чего.
Не моя это парафия, и судя по малой активности, если кто и занимается взломом кодов, то этого не афиширует.
NeStor

NeStor (статус: Посетитель), 18 мая 2011, 16:11 [#11]:

да какие тут взломы)))) обычный поиск заданного образца)))))

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:45
Выполнено за 0.03 сек.