Вот вывод для верхней границы:
2^(⌊lg n⌋+⌈lg n⌉)/n
= 2^(2⌊lg n⌋+1)/n
<= 2^(2 lg n + 1)/n
= 2^(2 lg n) 2^(1) / n
= 2 n^2 / n
= 2 n
= O(n)
Итак, мы знаем, что ваша функция может быть ограничена сверху на 2 * n.Теперь мы делаем нижнюю границу:
2^(⌊lg n⌋+⌈lg n⌉)/n
= 2^(2⌈lg n⌉ - 1) / n
>= 2^(2 lg n - 1)/n
= 2^(2 lg n) 2^(-1) / n
= 1/2 n^2 / n
= 1/2 n
= O(n)
Теперь мы знаем, что ваша функция может быть ограничена снизу с помощью n / 2.
Проверено на gnuplot;эти ответы выглядят хорошо и плотно.Это чисто алгебраическое решение, использующее определение, если функции floor () и floor ().