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


Линейная временная сложность в нотации Big O с JavaScript
Подробный обзор того, как алгоритмы линейного времени работают в JavaScript, последствия их производительности и стратегии их оптимизации в вашем коде. В компьютерных науках концепция линейного времени, также известная как O(n) время, используется для описания алгоритмов, требующих времени, прямо пропорционального размеру входных данных. Другими словами, по мере увеличения размера входных данных время, необходимое для завершения алгоритма, также увеличивается линейно. В JavaScript..

Крошечный злой фактор
Вы когда-нибудь пытались разработать алгоритм для решения проблемы на входе произвольной длины n , и приходили к нему всего за O ( n ) время работы? Иногда это просто, например: «Найти минимум в следующем списке из n целых чисел». Неудобная правда В большинстве случаев вы на самом деле получаете не истинное O ( n ), а скорее O ( n log n ). Подумайте об этом: если вы не можете просто «посмотреть на предмет и сразу же выбросить его», вы обречены. Вам нужен..

Более быстрый и простой способ найти количество элементов в списке.
Во многих проблемах кодирования, а также в повседневных задачах кодирования поиск количества элементов в списке — это то, с чем мы сталкиваемся довольно часто. Когда я впервые начал изучать Python/программирование, я делал это так: mylist = [1,1,1,1,2,3,3,3,3,4,4,4,4,4,4,5,5,5,7,7,7,8,8,8,8,8,8,8,9,9,9] #Get unique elements of list uniques = set(mylist) #Store counts of elements in key-value pairs in python dictionary element_counts = {} #Iterate over set containing unique elements for num..

Массивы Javascript и Big-O
Когда использовать массивы когда вам нужно отсортировать / упорядочить данные Big-O Поиск по) По мере роста массива потребуется больше времени, чтобы просмотреть каждый элемент в массиве и найти элемент, который соответствует критериям поиска. Доступ: O (1) У массивов есть индексы, поэтому можно быстро получить доступ к определенному элементу в массиве. Вставить / Удалить: это зависит от того, где вставляется / удаляется элемент. Если я добавлю / уберу с конца,..

Понимание нотации Big O: анализ эффективности алгоритма
Введение Обозначение Big O – это мощный инструмент, используемый в компьютерных науках и программировании для анализа производительности и эффективности алгоритмов . Это позволяет нам количественно оценить, как требования времени выполнения или пространства для алгоритма растут по отношению к размеру входных данных. В этой статье мы углубимся в основы нотации Big O, ее значение и то, как она помогает нам сравнивать и оценивать различные алгоритмы. Что такое нотация Big O?..

Обозначение Big O в машинописном тексте
Нотация Big O измеряет сложность алгоритма в наихудшем случае, описывая ограничивающее поведение функции, когда аргумент стремится к определенному значению или бесконечности. Большое О определяет сложность алгоритма с точки зрения времени и пространства. Введение Рассмотрим сложность алгоритма как f(n) . n  – количество входных данных, f(n)time  — необходимое время, а f(n)space необходимая дополнительная память. Некоторые стандартные обозначения Big O включают: O(1)..

Вставить Удалить GetRandom O(1)
Разработайте структуру данных, которая поддерживает все последующие операции за среднее O(1) время. insert(val) : вставляет элемент val в набор, если он еще не присутствует. remove(val) : Удаляет элемент val из набора, если он присутствует. getRandom : возвращает случайный элемент из текущего набора элементов. Каждый элемент должен иметь одинаковую вероятность быть возвращенным. Пример: // Init an empty set. RandomizedSet randomSet = new RandomizedSet(); // Inserts 1 to..