Articles of algoritmo

Correção do algoritmo de Sakamoto para encontrar o dia da semana

Eu estou usando o algoritmo de Sakamoto para descobrir o dia da semana a partir de uma determinada data. Alguém pode me dizer a exatidão deste algoritmo? Eu só quero isso de 2000 a 2099. O algoritmo da Wikipedia é dado como referência. int dow(int y, int m, int d) { static int t[] = […]

Como faço para determinar se o meu cálculo de pi é preciso?

Eu estava tentando vários methods para implementar um programa que fornece os dígitos de pi sequencialmente. Eu tentei o método da série de Taylor , mas provou para convergir extremamente lentamente (quando eu comparei o meu resultado com os valores on-line depois de algum tempo). De qualquer forma, estou tentando algoritmos melhores. Então, enquanto escrevia […]

Entrevista: Mesclando duas listas unidas classificadas

Esta é uma questão de programação feita durante um teste escrito para uma entrevista. “Você tem duas listas ligadas individualmente que já estão ordenadas, você tem que mesclá-las e retornar o header da nova lista sem criar novos nós extras. A lista retornada também deve ser classificada” A assinatura do método é: Node MergeLists (Node […]

Invalidação de Cache – Existe uma Solução Geral?

“Existem apenas dois problemas difíceis em Ciência da Computação: invalidação de cache e nomeação de coisas.” Phil Karlton Existe uma solução ou método geral para invalidar um cache? saber quando uma input é obsoleta, então você está garantido para sempre obter novos dados? Por exemplo, considere uma function getData() que obtém dados de um arquivo. […]

Analisando um terabyte de texto e contando eficientemente o número de ocorrências de cada palavra

Recentemente me deparei com uma pergunta de entrevista para criar um algoritmo em qualquer idioma que deveria fazer o seguinte Leia 1 terabyte de conteúdo Faça uma contagem para cada palavra de reoculação nesse conteúdo Listar as 10 palavras mais frequentes Você poderia me informar a melhor maneira possível de criar um algoritmo para isso? […]

Quando cada algoritmo de sorting é usado?

Quais são os casos de uso em que um algoritmo de ordenação específico é preferido em relação a outros – merge sort versus quick sort vs heap sort intro sort , etc? Existe um guia recomendado para usá-los com base no tamanho, tipo de estrutura de dados, memory disponível e cache e desempenho da CPU?

Escreva um programa para encontrar os 100 maiores números de um conjunto de 1 bilhão de números

Recentemente, assisti a uma entrevista onde me pediram “escreva um programa para encontrar os 100 maiores números de um conjunto de 1 bilhão de números”. Eu só consegui dar uma solução de força bruta que era ordenar o array em complexidade de tempo O (nlogn) e pegar os últimos 100 números. Arrays.sort(array); O entrevistador estava […]

Como contar inteiros entre grandes A e B com uma certa propriedade?

Nos concursos de programação, o seguinte padrão ocorre em muitas tarefas: Dados os números A e B que são enormes (talvez 20 dígitos decimais ou mais), determine o número de inteiros X com A ≤ X ≤ B que possuem uma certa propriedade P O SPOJ tem muitas tarefas como estas para praticar. Onde exemplos […]

Como restaurar o PriorityQueue para seu estado inicial antes da chamada do método?

Eu estou fazendo um problema de prática Practice IT Kth Smallest Este problema é basicamente você é passado em um PriorityQueue e um certo k, e você deve retornar o valor kth menor nesse PriorityQueue. Você também deve restaurar o PriorityQueue para seu estado inicial e pode usar uma pilha ou fila como uma estrutura […]

Buffer circular livre de bloqueio

Eu estou no processo de projetar um sistema que se conecta a um ou mais streams de feeds de dados e fazer algumas análises nos dados do que triggersr events com base no resultado. Em uma configuração típica de produtor / consumidor multiencadeado, terei vários encadeamentos de produtores colocando dados em uma fila e vários […]