Articles of algoritmo

Como o Google “Você quis dizer?” Algoritmo funciona?

Eu tenho desenvolvido um site interno para uma ferramenta de gerenciamento de portfólio. Há muitos dados de texto, nomes de empresas, etc. Tenho ficado muito impressionado com a capacidade de alguns mecanismos de pesquisa de responder rapidamente a consultas com “Você quis dizer: xxxx”. Eu preciso ser capaz de fazer uma consulta de usuário de […]

Peneira Segmentada de Eratóstenes?

É fácil fazer uma peneira simples: for (int i=2; i<=N; i++){ if (sieve[i]==0){ cout << i << " is prime" << endl; for (int j = i; j<=N; j+=i){ sieve[j]=1; } } cout << i << " has " << sieve[i] << " distinct prime factors\n"; } Mas e quando N é muito grande e […]

Boa biblioteca de algoritmos de charts Java?

Alguém já teve boas experiências com quaisquer bibliotecas Java para algoritmos Graph. Eu tentei JGraph e achei ok, e há muitos diferentes no google. Há algum que as pessoas estejam realmente usando com sucesso no código de produção ou recomendariam? Para esclarecer, eu não estou procurando uma biblioteca que produz charts / charts, eu estou […]

Looping em espiral

Um amigo estava precisando de um algoritmo que o deixasse percorrer os elementos de uma matriz NxM (N e M são ímpares). Eu encontrei uma solução, mas eu queria ver se meus companheiros SO”S poderiam encontrar uma solução melhor. Estou postando minha solução como resposta a essa pergunta. Exemplo de Saída: Para uma matriz 3×3, […]

Algoritmo de gráfico para localizar todas as conexões entre dois vértices arbitrários

Eu estou tentando determinar o melhor algoritmo eficiente de tempo para realizar a tarefa descrita abaixo. Eu tenho um conjunto de registros. Para este conjunto de registros, tenho dados de conexão que indicam como os pares de registros desse conjunto se conectam uns aos outros. Isso basicamente representa um grafo não direcionado, com os registros […]

Um algoritmo para inflar / desinflar (offset, buffering) polígonos

Como eu iria “inflar” um polígono? Isto é, eu quero fazer algo semelhante a isto: A exigência é que as bordas / pontos do novo (inflado) polígono estejam todos na mesma distância constante dos polígonos antigos (originais) (na imagem do exemplo eles não são, desde então ele teria que usar arcos para vértices inflados, mas […]

Reverter a ordenação de palavras em uma string

Eu tenho essa string s1 = “My name is XYZ” e eu quero inverter a ordem das palavras para que s1 = “ZYX is name My” . Eu posso fazer isso usando uma matriz adicional. Eu pensei muito, mas é possível fazer isso no local (sem usar estruturas de dados adicionais) e com a complexidade […]

Obtendo a seqüência de caracteres mais próxima

Eu preciso de uma maneira de comparar várias seqüências de caracteres para uma seqüência de teste e retornar a seqüência de caracteres que se assemelha a ela: TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW CHOICE A : THE RED COW JUMPED OVER THE GREEN CHICKEN CHOICE B : THE RED COW JUMPED […]

Mapeamento de dois inteiros para um, de maneira única e determinística

Imagine dois inteiros positivos A e B. Eu quero combinar esses dois em um único inteiro C. Não pode haver outros inteiros D e E que combinem com C. Portanto, combiná-los com o operador de adição não funciona. Por exemplo, 30 + 10 = 40 = 40 + 0 = 39 + 1 Nem o […]

Como replace todas as ocorrências de um caractere em string?

Qual é a maneira efetiva de replace todas as ocorrências de um caractere por outro caractere em std::string ?