Нахождение числа в монтонически возрастающей, а затем убывающей последовательностиcera

Нахождение максимального или минимального значения в последовательности, которая монотонно возрастает, а затем монотонно убывает, может быть выполнено за O (log n ).

Однако, если я хочу проверить, существует ли число в такой последовательности, можно ли это сделать за O (log n )?

Я не думаю, что это возможно. Рассмотрим этот пример :1 4 5 6 7 10 8 3 2 0.

В этом примере, если мне нужно выяснить, содержит ли последовательность «2», у меня нет никаких условий для разделения пространства поиска на половину исходного пространства поиска.В худшем случае это будет O (n ), так как нужно проверять обе половины, когда мы пытаемся найти 2.

Я хотел бы знать, выполняется ли этот поиск за время O (log n )?

10
задан sfstewman 18 July 2012 в 09:15
поделиться