Запись O(3n) является корректной. Но класс функций O(3n) совпадает с классом функций O(n). Это класс функций, который растут не быстрее линейной функции. Так как O(n) = O(3n), то коэффициент внутри О обычно не пишут. (Вы можете сказать "масло маслянное", на вас косо посмотрят, но язык так говорить не запрещает, то же самое и для O(3n)).
Но если пишут, то это восприниматся как дополнительный комментарий: O(3n) растёт так же быстро как O(1n), но мы дополнительно указываем что ожидаемая константа первого алгоритма в три раза хуже ожидамой константы второго.
Задачи нужны чтобы: побеждать на олимпиадах (сам не пробовал). И отвечать на олимпиадные вопросы на ruSO (делаю). И чтобы продавать автобусные билеты (с рассадкой по местам) группам людей (задача на графах, делал этим летом). И чтобы быстро рассчитывать возможную прибыль от продажи газа при изменениях тарифов (сдаю проект с этом алгоритмом). И даже чтобы работать с временными поясами (сдаю проект с этом алгоритмом).
Я сам на лекциях иногда оставляю константы внутри О-большого. Формально это не ошибка, а лишь излишество. Которое может дать представление о константе алгоритма. Что удобно если мы сравниваем алгоритмы с одной асимптотикой.
`.toFixed()` абсолютно недопустимо. Каждую итерацию вы переводите число в строку и обратно. Ужасная производительность при том что есть метод проще, быстрее и понятнее.
Бросить мусор в чёрную дыру с корабля на круговой орбите - означает что у мусора надо отобрать скорость - первую космическую скорость. Что не легко, например "Паркер" делал семь гравитационных манёвров у Венеры. На орбите Земли у него скорость была 30 км/с, почти всё нужно отобрать, чтобы опустить перигелий и оказаться поближе к Солнцу. А первая космическая вблизи ЧД куда выше 30 км/с.
Вещество аккреционного диска падает из-за трения внутри диска. Диск не может вращаться как единое твёрдое тело - внутренние слои обгоняют наружные. Возникает трение, вещество диска теряет скорость, нагревается, приближается а горизонту ЧД или к поверхности звезды. Аккреционные диски бывают и у обычных и у нейтронных звёзд. Если вы попадаете в диск, вам не поздоровится - плотная горячая газовая среда. Аккреционные диски равно опасны и у ЧД и у обычных звёзд. Если диска нет, то и рассеять момент импульса некуда. А если вы не теряете момент, вы не можете попасть в ЧД.
Черная дыра меннее опасна чем тело той же массы, но которое черной дырой не стало. Например, в чёрной дыре вы погибнете приблизившись к горизонту событий. Приблизившись к телу вы погибнете упав на его поверхность. Второе произойдёт раньше - чёрные дыры самые компактные из объектов той же массы. Пока вы вдалеке от дыры её действие на вас не отличимо от действия массивного тела. Если у вас не нулевой момент импульса, вы никогда не упадёте в черную дыру. Если нет, вы упадёте, но точно также вы упадёте на планету или звезду. Черная дыра - самый безопасный массивный объект в космической навигации. Она не плохо наблюдается, если вы знаете что такое гравитационное линзирование и следите за небом перед кораблём и за изменением направления и скорости корабля.
Вычислительные методы были хорошо развиты и до компьютеров - это правда. Но с появлением компьютеров они стали развиваться ещё интенсивнее. Это кажется странным, но есть причина: если у вас есть быстрый помощник, вы хотите решать задачи большего размера. Если у вас плохие алгоритмы (большое О-большое), ваш в 1000 раз более быстрый помощник не может решить в 1000 раз большую задачу. Например, до середины 20 века люди не умели быстро умножать большие целые числа. Пришел Карацуба и объяснил как это сделать быстрее чем за O(N^2). Еще пример: до калькуляторов не было CORDIC алгоритма для вычисления функций. Все должны были пользовать таблицами, нет таблицы - нет значения функции. Новые функции, новые, быстрее сходящиеся ряды.
Что внутри ЧД мы не знаем. Мы значем что если два горизонта событий приблизить к другу они сольются в один общий горизонт большего радиуса. Что именно происходит под горизонтами нам неведомо. У нас просто нет средств узнать что-то про внутренности кроме массы, заряда и момента импульса.
Если дыра заряжена, её импульсом можно управлять через внешнее электрическое поле. Две дыры разных зарядов останавливают рядом, они притягиваются и сливаются. Орбитальный момент работает против гравитации, а она значительно слабее электростатики.
В нейтральную чёрную дыру роняют заряженную частицу. Закон сохранения заряда - получаете заряженную чёрную дыру. В дикой природе чёрные дыры редко имеют большой заряд, так как притягивают частицы противоположного заряда, поглощают их и приближаются к нейтральному заряду. Но заряд у чёрной дыры может быть и заряженной чёрной дырой можно управлять как любой другой заряженной частицей, например хранить в магнитной ловушке.
Исходное число x считается заданным без погрешности. При последовательных умножениях одно число накапливает погрешность, второе не несёт с собой ошибку. При последовательных возведения в квадрат (умножениях) оба сомножителя имеют погрешность.
Погрешность у них одинаковая, как это ни странно. Возведение в квадрат погрешность удваивает. Умножение на точно известное число добавляет к погрешности маленькую константу. Можно показать что погрешность почти полностью определяется показателем степени, а порядок умножения влияет мало.
Толк есть: читаешь и думаешь - это знаю и это знаю, а вот тут что-то новенькое, пойду в вики статью перечитаю.
Как вы обошлись без упоминания https://en.wikipedia.org/wiki/Mind_map ? Есть десятки приложений на эту тему: https://en.wikipedia.org/wiki/List_of_concept-_and_mind-mapping_software. Чем ваш подход лучше, удобнее?
Запись O(3n) является корректной. Но класс функций O(3n) совпадает с классом функций O(n). Это класс функций, который растут не быстрее линейной функции. Так как O(n) = O(3n), то коэффициент внутри О обычно не пишут. (Вы можете сказать "масло маслянное", на вас косо посмотрят, но язык так говорить не запрещает, то же самое и для O(3n)).
Но если пишут, то это восприниматся как дополнительный комментарий: O(3n) растёт так же быстро как O(1n), но мы дополнительно указываем что ожидаемая константа первого алгоритма в три раза хуже ожидамой константы второго.
Задачи нужны чтобы:
побеждать на олимпиадах (сам не пробовал).
И отвечать на олимпиадные вопросы на ruSO (делаю).
И чтобы продавать автобусные билеты (с рассадкой по местам) группам людей (задача на графах, делал этим летом).
И чтобы быстро рассчитывать возможную прибыль от продажи газа при изменениях тарифов (сдаю проект с этом алгоритмом).
И даже чтобы работать с временными поясами (сдаю проект с этом алгоритмом).
Я сам на лекциях иногда оставляю константы внутри О-большого. Формально это не ошибка, а лишь излишество. Которое может дать представление о константе алгоритма. Что удобно если мы сравниваем алгоритмы с одной асимптотикой.
`.toFixed()` абсолютно недопустимо. Каждую итерацию вы переводите число в строку и обратно. Ужасная производительность при том что есть метод проще, быстрее и понятнее.
(str.length/2).toFixed()
- это действительно страшно.В выражении
Math.floor(str.length / 2)
вызовMath.floor
не нужен. Этот конкретныйfor
и без него отлично будет работать.Вычислять верхнюю границу в
for
плохо и очень плохо. Она вычисляется на каждой итерации.Ваши примера кода служат антирекламой компании. Не позорьтесь, уберите подальше.
Для этого такие задачи дают "по модулю 10^9 + 7".
Бросить мусор в чёрную дыру с корабля на круговой орбите - означает что у мусора надо отобрать скорость - первую космическую скорость. Что не легко, например "Паркер" делал семь гравитационных манёвров у Венеры. На орбите Земли у него скорость была 30 км/с, почти всё нужно отобрать, чтобы опустить перигелий и оказаться поближе к
Солнцу. А первая космическая вблизи ЧД куда выше 30 км/с.
Вещество аккреционного диска падает из-за трения внутри диска. Диск не может вращаться как единое твёрдое тело - внутренние слои обгоняют наружные. Возникает трение, вещество диска теряет скорость, нагревается, приближается а горизонту ЧД или к поверхности звезды. Аккреционные диски бывают и у обычных и у нейтронных звёзд. Если вы попадаете в диск, вам не поздоровится - плотная горячая газовая среда. Аккреционные диски равно опасны и у ЧД и у обычных звёзд. Если диска нет, то и рассеять момент импульса некуда. А если вы не теряете момент, вы не можете попасть в ЧД.
Черная дыра меннее опасна чем тело той же массы, но которое черной дырой не стало. Например, в чёрной дыре вы погибнете приблизившись к горизонту событий. Приблизившись к телу вы погибнете упав на его поверхность. Второе произойдёт раньше - чёрные дыры самые компактные из объектов той же массы. Пока вы вдалеке от дыры её действие на вас не отличимо от действия массивного тела. Если у вас не нулевой момент импульса, вы никогда не упадёте в черную дыру. Если нет, вы упадёте, но точно также вы упадёте на планету или звезду. Черная дыра - самый безопасный массивный объект в космической навигации. Она не плохо наблюдается, если вы знаете что такое гравитационное линзирование и следите за небом перед кораблём и за изменением направления и скорости корабля.
Вычислительные методы были хорошо развиты и до компьютеров - это правда. Но с появлением компьютеров они стали развиваться ещё интенсивнее. Это кажется странным, но есть причина: если у вас есть быстрый помощник, вы хотите решать задачи большего размера. Если у вас плохие алгоритмы (большое О-большое), ваш в 1000 раз более быстрый помощник не может решить в 1000 раз большую задачу. Например, до середины 20 века люди не умели быстро умножать большие целые числа. Пришел Карацуба и объяснил как это сделать быстрее чем за O(N^2). Еще пример: до калькуляторов не было CORDIC алгоритма для вычисления функций. Все должны были пользовать таблицами, нет таблицы - нет значения функции. Новые функции, новые, быстрее сходящиеся ряды.
Как контролируются ошибки в решениях? Интервальная арифметика?
Имитируют световое поле. Два глаза смотрят на один и тот же пиксел и видят разный свет. Что-то похожее было на 3D календариках.
https://ru.wikipedia.org/wiki/Гипотеза_об_отсутствии_волос
Что внутри ЧД мы не знаем. Мы значем что если два горизонта событий приблизить к другу они сольются в один общий горизонт большего радиуса. Что именно происходит под горизонтами нам неведомо. У нас просто нет средств узнать что-то про внутренности кроме массы, заряда и момента импульса.
Если дыра заряжена, её импульсом можно управлять через внешнее электрическое поле. Две дыры разных зарядов останавливают рядом, они притягиваются и сливаются. Орбитальный момент работает против гравитации, а она значительно слабее электростатики.
В нейтральную чёрную дыру роняют заряженную частицу. Закон сохранения заряда - получаете заряженную чёрную дыру. В дикой природе чёрные дыры редко имеют большой заряд, так как притягивают частицы противоположного заряда, поглощают их и приближаются к нейтральному заряду. Но заряд у чёрной дыры может быть и заряженной чёрной дырой можно управлять как любой другой заряженной частицей, например хранить в магнитной ловушке.
Исходное число x считается заданным без погрешности. При последовательных умножениях одно число накапливает погрешность, второе не несёт с собой ошибку. При последовательных возведения в квадрат (умножениях) оба сомножителя имеют погрешность.
Погрешность у них одинаковая, как это ни странно. Возведение в квадрат погрешность удваивает. Умножение на точно известное число добавляет к погрешности маленькую константу. Можно показать что погрешность почти полностью определяется показателем степени, а порядок умножения влияет мало.
-m32
означает что все промежуточные результаты приводятся кfloat
. Не мудрено получить погрешность.