Articles of algoritmo

Gerando todas as permutações de uma determinada string

O que é uma maneira elegante de encontrar todas as permutações de uma string. Por exemplo, ba , seria ba e ab , mas e quanto a abcdefgh ? Existe algum exemplo de implementação Java?

O que é recursion da cauda?

Ao começar a aprender lisp, eu me deparei com o termo tail-recursivo . O que isso significa exatamente?

Qual é a maneira mais eficaz de comparar float e double?

Qual seria a maneira mais eficiente de comparar dois valores double ou dois float ? Simplesmente fazendo isso não está correto: bool CompareDoubles1 (double A, double B) { return A == B; } Mas algo como: bool CompareDoubles2 (double A, double B) { diff = A – B; return (diff < EPSILON) && (-diff < […]

Calcular a distância entre dois pontos de latitude e longitude? (Fórmula de Haversine)

Como faço para calcular a distância entre dois pontos especificados por latitude e longitude? Para esclarecimento, eu gostaria da distância em quilômetros; os pontos usam o sistema WGS84 e eu gostaria de entender as precisões relativas das abordagens disponíveis.

Qual é a maneira mais eficiente / elegante de analisar uma tabela plana em uma tree?

Suponha que você tenha uma tabela simples que armazene uma hierarquia de tree ordenada: Id Name ParentId Order 1 ‘Node 1’ 0 10 2 ‘Node 1.1’ 1 10 3 ‘Node 2’ 0 20 4 ‘Node 1.1.1’ 2 10 5 ‘Node 2.1’ 3 10 6 ‘Node 1.2’ 1 20 Aqui está um diagrama, onde temos [id] […]

Como contar o número de bits definidos em um inteiro de 32 bits?

8 bits representando o número 7 se parecem com isto: 00000111 Três bits estão definidos. O que são algoritmos para determinar o número de bits definidos em um inteiro de 32 bits?

O que é uma explicação simples em inglês da notação “Big O”?

Eu prefiro a menor definição formal possível e matemática simples.

Qual é o melhor algoritmo para um System.Object.GetHashCode substituído?

No método .NET System.Object.GetHashCode é usado em vários lugares, em todas as bibliotecas de classs de base do .NET. Especialmente quando encontrar itens em uma coleção rapidamente ou para determinar a igualdade. Existe um algoritmo padrão / melhor prática sobre como implementar a substituição GetHashCode para minhas classs personalizadas para que eu não prejudique o […]