Двоичный поиск: -
давайте рассмотрим пример для решения проблемы.
предположим, что у нас «n» яблок, и каждый день половина яблок гниет.затем через сколько дней количество яблок будет равно 1.
первый день n яблок: аааа .... (всего n)
второй день: ааа а..а (всегоn / 2)
третий день: aaa .. a (всего n / (2 ^ 2));
так далее ..............давайте предположим, что через k дней количество оставшихся яблок будет 1
, т.е. n / (2 ^ k) должно стать 1 atlast
n / (2 ^ k) = 1;2 ^ к = п;применяя log к базе 2 с обеих сторон
k = log n;
таким же образом в бинарном поиске
сначала у нас осталось n элементов, затем n / 2, затемn / 4, затем n / 8, и так, наконец, у нас остался один элемент, поэтому сложность по времени равна log n