Articles of big o

Complexidade temporal do algoritmo de Euclides

Estou tendo dificuldade em decidir qual é a complexidade de tempo do maior algoritmo de denominador comum de Euclides. Este algoritmo no pseudo-código é: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a Parece depender de aeb . Meu pensamento é que a complexidade […]

Algoritmo para determinar se o array contém n… n + m?

Eu vi esta pergunta no Reddit, e não houve soluções positivas apresentadas, e eu pensei que seria uma pergunta perfeita para perguntar aqui. Esta foi uma discussão sobre perguntas da entrevista: Escreva um método que tome uma matriz int de tamanho m e retorne (Verdadeiro / Falso) se a matriz consistir dos números n … […]

O que faria com que um algoritmo tivesse complexidade O (log log n)?

Essa 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 n)?

Tipo rápido pior caso

Eu estou trabalhando no programa apenas necessário no seguinte para entender melhor. Qual é o pior momento de execução do Quicksort e o que pode causar esse pior desempenho de caso? Como podemos modificar o programa quicksort para atenuar esse problema? Eu sei que tem o pior caso O(n^2) e eu sei que ocorre quando […]

Complexidade assintótica de classs de coleção .NET

Existem resources sobre a complexidade assintótica (big-O e o resto) de methods de classs de coleção .NET ( Dictionary , List etc …)? Eu sei que a documentação da biblioteca C5 inclui algumas informações sobre ela ( exemplo ), mas também estou interessado em collections .NET padrão … (e as informações da PowerCollections também seriam […]

Complexidade de tempo da tabela de hash

Eu estou confuso sobre a complexidade do tempo de tabela de hash muitos artigos afirmam que eles são “amortizado O (1)” não verdadeira ordem O (1) o que isso significa em aplicações reais. Qual é a complexidade média de tempo das operações em uma tabela de hash, na implementação real e não na teoria, e […]

Stack com find-min / find-max mais eficiente que O (n)?

Estou interessado em criar uma estrutura de dados Java semelhante a uma pilha que suporte as seguintes operações da forma mais eficiente possível: Push, que adiciona um novo elemento no topo da pilha, Pop, que remove o elemento principal da pilha, Find-Max, que retorna (mas não remove) o maior elemento da pilha, e Find-Min, que […]

Anexar um object a uma lista em R no tempo constante amortizado, O (1)?

Se eu tiver alguma lista mylist , você pode acrescentar um item obj a ele da seguinte forma: mylist[[length(mylist)+1]] <- obj Mas certamente há uma maneira mais compacta. Quando eu era novo no R, eu tentei escrever o lappend() assim: lappend <- function(lst, obj) { lst[[length(lst)+1]] <- obj return(lst) } mas é claro que isso […]

Big O (log) é base de log e?

Para o tipo de tree de pesquisa binária de estruturas de dados, vejo que a notação Big O é normalmente identificada como O (logn). Com um ‘l’ minúsculo no log, isso implica log base e (n) como descrito pelo logaritmo natural? Desculpe pela pergunta simples, mas sempre tive dificuldade em distinguir entre os diferentes logaritmos […]

Lucro máximo de venda única

Suponha que recebamos uma matriz de n 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 no buyDay e as vendêssemos no sellDay , maximizássemos nosso lucro. Claramente, existe uma solução O (n 2 ) […]