Eu preferiria a menor definição formal possível e a matemática
A complexidade de tempo de um algoritmo quantifica a quantidade de tempo que leva para ser executado por um algoritmo em função do tamanho da entrada para o problema. A complexidade de tempo de um algoritmo é comumente expressa usando notação grande O, que suprime constantes multiplicativas e termos de ordem inferior.
Eu preferiria a menor definição formal possível e a matemática
Qual é a maneira mais concisa e eficiente de descobrir se uma matriz JavaScript contém um valor? Esta é a única maneira que sei fazer: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } Existe uma maneira melhor e mais...
Estou aprendendo sobre os tempos de execução da Big O Notation e os tempos amortizados. Eu entendo a noção de tempo linear O (n) , o que significa que o tamanho da entrada afeta o crescimento do algoritmo proporcionalmente ... e o mesmo vale para, por exemplo, tempo quadrático O (n 2 ) etc .. mesmo...
O Project Euler e outros concursos de codificação geralmente têm um tempo máximo para execução ou as pessoas se gabam da rapidez com que sua solução específica é executada. Com o Python, às vezes as abordagens são um pouco esquisitas - ou seja, adicionando código de temporização ao __main__. Qual...
A questão Como encontrar a complexidade temporal de um algoritmo? O que eu fiz antes de postar uma pergunta no SO? Eu passei por isso , este e muitos outros links Mas não onde eu era capaz de encontrar uma explicação clara e direta sobre como calcular a complexidade do tempo. O que eu sei...
Dado que as strings são imutáveis no .NET, estou me perguntando por que elas foram projetadas de tal forma que string.Substring()levam tempo O ( substring.Length), em vez de O(1)? ou seja, quais foram as trocas, se
Entendo a notação Big-O, mas não sei como calculá-la para muitas funções. Em particular, tenho tentado descobrir a complexidade computacional da versão ingênua da sequência de Fibonacci: int Fibonacci(int n) { if (n <= 1) return n; else return Fibonacci(n - 1) + Fibonacci(n - 2); } Qual é...
Qual é a diferença entre Big-O notação O(n)e Pequeno-O notação
Existem casos em que você prefere O(log n)complexidade de O(1)tempo a complexidade de tempo? Ou O(n)para O(log n)? Você tem algum
Os recursos que encontrei na complexidade do tempo não são claros sobre quando não há problema em ignorar termos em uma equação de complexidade do tempo, especificamente com exemplos não polinomiais. É claro para mim que, dado algo da forma n 2 + n + 1, os dois últimos termos são...
Eu já vi algumas afirmações interessantes sobre os hashmaps SO re Java e seu O(1)tempo de pesquisa. Alguém pode explicar por que isso é assim? A menos que esses hashmaps sejam muito diferentes de qualquer um dos algoritmos de hash em que eu comprei, sempre deve existir um conjunto de dados que...
Ouvi alguém dizer que, uma vez que a pesquisa binária reduz pela metade a entrada necessária para pesquisar, é um algoritmo de log (n). Como não sou de matemática, não sou capaz de me relacionar com isso. Alguém pode explicar isso com mais detalhes? isso tem a ver com a série...
O algoritmo básico para BFS: set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its not visited load into queue mark vertex Então, eu acho que a complexidade do tempo seria: v1 + (incident edges) + v2 + (incident edges) + .... +...
Suponha que recebamos uma matriz de n números inteiros representando os preços das ações em um único dia. Queremos encontrar um par (buyDay, sellDay) , com buyDay ≤ sellDay , de modo que, se comprássemos as ações na buyDay e as vendêss na sellDay , maximizaríamos nosso lucro. Claramente, existe...
Quais são alguns algoritmos que usamos diariamente que têm complexidades O (1), O (n log n) e O (log
Meu conhecimento de big-O é limitado, e quando os termos de log aparecem na equação, fico ainda mais confuso. Alguém pode me explicar em termos simples o que é um O(log n)algoritmo? De onde vem o logaritmo? Isso surgiu especificamente quando eu estava tentando resolver esta questão prática...
Os arrays em JavaScript são muito fáceis de modificar, adicionando e removendo itens. De certa forma, mascara o fato de que a maioria dos arrays de linguagens tem tamanho fixo e requer operações complexas para redimensionar. Parece que o JavaScript facilita a escrita de código de array de baixo...
Esta questão anterior aborda alguns dos fatores que podem fazer com que um algoritmo tenha complexidade O (log n). O que faria com que um algoritmo tivesse complexidade de tempo O (log log
O que é tempo pseudopolinomial ? Como ele difere do tempo polinomial? Alguns algoritmos que são executados em tempo pseudopolinomial têm tempos de execução como O (nW) (para o problema da mochila 0/1 ) ou O (√n) (para a divisão experimental ); por que isso não conta como tempo...
Estou tendo dificuldade em decidir qual é a complexidade de tempo do algoritmo do maior denominador comum de Euclides. Este algoritmo em pseudocódigo é: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a Parece depender de a e b . Meu pensamento é que a complexidade do tempo...