Мне нужно написать небольшую программу Java, чтобы узнать, сколько времени требуется для выполнения алгоритма поиска.Означает ли это бинарный алгоритм поиска?
Алгоритм гласит:
Предположим, у вас есть алгоритм поиска, который на каждом уровне рекурсии, исключающую половину данных из рассмотрения при поиске конкретного элемента данных. Поиск останавливается только при оставлении одного элемента данных.
Я хотел бы знать ваше мнение о том, какой алгоритм поиска он есть.
Это алгоритм двоичного поиска, да. Однако, по-видимому, существует более чем один алгоритм, который делает это. Я уверен, что кто-то может придумать какой-нибудь фантастический алгоритм, который найдет способ исключить половину его ввода на каждом шагу и не будет функционировать, как это делает обычный бинарный поиск. –
Информация, предоставленная в вопросе, недостаточна. Ответ зависит от того, как точно исключена половина данных. – kraskevich
Вот что меня беспокоит. Это то, что упоминается в статье для задачи, с которой я работаю. Если данные будут вставлены случайным образом, было бы очень сложно найти его именно так. Поэтому мой вывод заключался в том, что это был двоичный поиск. – 1011