Anagramas
Publicado por Enzo de Brito Ferber 16/01/2009 (última atualização em 20/04/2015)
[ Hits: 23.252 ]
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.
programa para solucionar problemas com triangulos
Divisores de um inteiro positivo em C++
Teste de desempenho com números primos em C
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)
Autenticação necessária. um aplicativo quer acesso ao chaveiro (2)