Anagramas
Publicado por Enzo de Brito Ferber 16/01/2009 (última atualização em 20/04/2015)
[ Hits: 23.521 ]
Homepage: http://www.maximasonorizacao.com.br
Download anagram.c (versão 2)
Programa que gera todos os anagramas possíveis com uma determinada string (todos os caracteres são aceitos).
O código do programa, assim como a maioria de seus comentários, está em inglês, mas acho que isso não será problema. Qualquer dúvida é só mandar um e-mail para mim. (o endereço está no cabeçalho do arquivo).
Happy programming!
Versão 2 - Enviado por Enzo de Brito Ferber em 16/04/2015
Changelog: O código antigo além de muito grande, não tinha uma boa performance.
Reduzi a função para gerar os anagramas a pouco menos de 20 linhas. Performance ótima e dentro do esperado O(n!), sem os desperdícios do código atual com inúmeras funções, máscaras e afins.
O algoritmo é recursivo (mas é simples):
1. Um loop através de toda a string.
2. A cada iteração do loop, o primeiro caractere da string será substituído pelo caractere i.
3. Chama-se a função novamente na substring (string original menos o primeiro caractere)
4. Ir para o passo 1.
Quando a função retorna, restaura-se o caractere trocado para que a próxima interação do loop seja feita corretamente.
O anagrama atual é armazenado em uma string global.
Código extenso.
Regra de Horner para cálculo do polinômio
Matrizes esparsas, produto por escalar e produto por um vetor
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Problema com placa de video, mudança de distro (3)
VOL já não é mais como antes? (24)









