Публикации по теме 'big-o-notation'


Нотация Big O для чайников :: Часть 1
Простое введение в сложность алгоритма Было время, когда я был ошеломлен чтением книг по алгоритмам. Когда кто-то спросил меня после демонстрации алгоритма, в чем может заключаться сложность, на собеседовании для меня это был кошмар. Мне даже однажды отказали в GrabTaxi, и одной из причин было то, что я возился с вопросами, связанными со сложностью. Это был мой единственный раз, когда я прошел собеседование по программированию, но в конце концов не смог получить работу. Это был момент..

Решение: findPairsWithGivenDiff
В этой статье я расскажу о проблеме findPairsWithGivenDiff в Javascript. Я пройдусь через свой процесс и решу проблему двумя способами, чтобы сравнить их BigO. Давай начнем! Направления: «Учитывая массив arr различных целых чисел и неотрицательное целое число k , напишите функцию findPairsWithGivenDifference , которая возвращает массив всех пар [x,y] в arr , так что x - y = k . Если таких пар нет, верните пустой массив. Примечание. порядок пар в выходном массиве должен..

Алгоритмы: как суммы префиксов могут помочь улучшить операции с массивами
Если вы какое-то время были в мире программного обеспечения, вы, вероятно, столкнулись с какой-то проблемой, когда вам нужно было выполнить некоторую обработку над подмножествами массива, верно? Нет?! Что ж, тогда позвольте мне предложить вам простой. Допустим, я нахожусь на волне биткойнов, и я решил отследить свою валовую прибыль за последний год: gains = [102, 55, 320, 250, 215, 142, 54, 32, 121, 224, 458, 276] (помните, это всего лишь образец данных :-) Затем я начал..

Разбивка задачи кода сортировки
Пришло время еще раз разобраться с кодом HackerRank. В частности, проблема с кодом под названием Уведомления о мошеннических действиях . Тема соответствует сомнительному альтер-эго Мэйби Фюнке: конечно, она страдает болезнью под названием BS и с радостью примет денежные пожертвования в ее поддержку. Эта проблема с кодом сложна и интересна. Его основной аспект - это эффективная сортировка, но он требует использования менее распространенного алгоритма: сортировки с подсчетом...

Мой путь к соревновательному программированию с использованием Javascript (день 2 из 180)
Уровень: легкий Проблема 3 : https://www.codechef.com/problems/FLOW017 «Вам дано целое число N . Напишите программу для вычисления суммы всех цифр числа N ». Ограничения: 1 ≤ N ≤ 1000000 Пример: Input: 12345 31203 2123 Output: 15 9 8 Подход и решение: Подход, который я придумал, заключался в использовании метода обратного преобразования массива по месту, который я использовал в одной из наших предыдущих задач, и вместо замены первого на последнюю,..

Разница между логарифмическим временем и линейным временем
Поэтому недавно я взял на себя смелость попытаться узнать о нотации Big O. В основном пытаясь выяснить, почему определенные функции работают так, как они. Также различия между тем, почему мы используем этот метод, по сравнению с другим. Первые два примера времени, о которых я узнаю, — это линейное время и логарифмическое время. Что такое линейное время? Линейное время — это представление того, сколько времени требуется функции для запуска. Чем больше размер ввода, тем больше времени..

Что такое нотация Big O, как она экономит время выполнения - просто объяснили
В чем идея Big O? Как узнать, насколько быстро работает наш алгоритм? Вот тут-то и пригодится нотация Big O. Давайте посмотрим, как это определяется в Google: Теоретическая мера выполнения алгоритма , обычно необходимое время или память с учетом размера проблемы n, который обычно представляет собой количество Предметы. Неофициально, выражение некоторого уравнения f (n) = O (g (n)) означает, что оно меньше некоторого постоянного кратного g (n). Вместо того, чтобы..