Anagramas
Publicado por Enzo de Brito Ferber 16/01/2009 (última atualização em 20/04/2015)
[ Hits: 22.875 ]
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.
SIMULADOR DE DADOS DE RPG VAMPIRO A MÁSCARA - Corrigido
Converçor de Decimal para Binario
Funções de soma e subtração de matrizes alocadas dinamicamente
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Instalando TeamViewer no Debian 12
Conheça o Octopi, outro frontend para o Pacman com acesso ao AUR (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Eu estou com problemas para usar o QBASIC no Dosbox X (2)
Ubuntu simplesmente morreu (8)
Como colocar uma assinatura digital em um código compilado ! (2)