Articles of algoritmo

O que é uma boa function hash?

O que é uma boa function Hash? Eu vi um monte de funções hash e aplicativos em meus cursos de estruturas de dados na faculdade, mas eu principalmente tenho que é muito difícil fazer uma boa function de hash. Como regra geral para evitar colisões, meu professor disse que: function Hash(key) return key mod PrimeNumber […]

Encontrando duplicatas no tempo O (n) e no espaço O (1)

Entrada: Dado um array de n elementos que contém elementos de 0 a n-1, com qualquer um desses números aparecendo qualquer número de vezes. Objetivo: Encontrar esses números repetidos em O (n) e usar apenas o espaço de memory constante. Por exemplo, se n for 7 e array for {1, 2, 3, 1, 3, 0, […]

Milhões de pontos 3D: como encontrar os 10 deles mais próximos de um determinado ponto?

Um ponto em 3-d é definido por (x, y, z). Distância d entre quaisquer dois pontos (X, Y, Z) e (x, y, z) é d = Sqrt [(Xx) ^ 2 + (Yy) ^ 2 + (Zz) ^ 2]. Agora há um milhão de inputs em um arquivo, cada input é algum ponto no espaço, em […]

Largura Primeiro Vs Profundidade Primeiro

Quando atravessando uma tree / gráfico Qual é a diferença entre Largura Primeiro e Profundidade primeiro? Qualquer codificação ou exemplo de pseudocódigo seria ótimo.

Algoritmo para gerar uma palavra cruzada

Dada uma lista de palavras, como você faria para organizá-las em uma grade de palavras cruzadas? Não teria que ser como um enigma de palavras cruzadas “adequado” que é simétrico ou qualquer coisa assim: basicamente, basta mostrar uma posição inicial e uma direção para cada palavra. Haveria algum exemplo de Java disponível?

Como os certificados ssl são verificados?

Qual é a série de etapas necessárias para verificar com segurança um certificado SSL? Meu (muito limitado) entendimento é que quando você visita um site https, o servidor envia um certificado para o cliente (o navegador) e o navegador obtém as informações do emissor do certificado desse certificado, então usa isso para contatar o emissor […]

Gerando as partições de um número

Eu precisava de um algoritmo para gerar todas as partições possíveis de um número positivo, e eu criei um (postado como resposta), mas é um tempo exponencial. O algoritmo deve retornar todas as maneiras possíveis pelas quais um número pode ser expresso como a sum de números positivos menores ou iguais a ele mesmo. Então, […]

Gerador de números pseudo-randoms – distribuição exponencial

Eu gostaria de gerar alguns números pseudo-randoms e até agora eu tenho estado muito contente com a function Random.Next(int min, int max) da biblioteca .Net. Os PRNGs dessa variedade devem estar usando uma distribuição uniforme , mas eu gostaria muito de gerar alguns números usando uma distribuição exponencial . Estou programando em C #, embora […]

Como eu determino eficientemente se um polígono é convexo, não convexo ou complexo?

Na página man do XFillPolygon : Se a shape for Complexa , o caminho poderá se auto-interceptar. Observe que os pontos coincidentes contíguos no caminho não são tratados como auto-interseção. Se a shape for convexa , para cada par de pontos dentro do polígono, o segmento de linha conectando-os não cruzará o caminho. Se conhecido […]

Como você valida uma tree de busca binária?

Eu li aqui um exercício de entrevistas conhecido como validando uma tree de busca binária. Como, exatamente, isso funciona? O que alguém estaria procurando na validação de uma tree de busca binária? Eu escrevi uma tree de busca básica, mas nunca ouvi falar desse conceito.