Я не совсем уверен, что означает жесткий, но я могу дать вам доказательство того, что O (log n) является нижней границей сложности задачи.
Сложность задачи говорит о сложности задачи в целом вместо алгоритма.
Существует только три результата сравнения элемента в массиве и заданного элемента:
array[i]=element: stop
array[i]<element: search the first half
array[i]>element: search the second half
Этот процесс может быть представлен двоичным деревом. В лучшем случае глубина дерева O (log n). Поэтому мы можем утверждать, что ни один алгоритм не будет быстрее, чем O (log n), что является нижней границей времени задачи.
Верхняя граница сложности задачи определяется наименьшей временной сложностью любого алгоритма, решающего задачу. Существует алгоритм двоичного поиска, сложность которого O (log n).
Что касается задачи поискового массива, то верхняя и нижняя границы совпадают, поэтому сложность задачи составляет O (log n).