Anagramas
Publicado por Enzo de Brito Ferber 16/01/2009 (última atualização em 20/04/2015)
[ Hits: 23.436 ]
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.
Retirar ocorrências de uma substring dentro de uma string
Método de Power para calcular o autovelor dominante de uma matriz
Raizes reais e complexas de uma equação de 2º grau
Divisores de um inteiro positivo em C++
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
intervenção politica pode interver no Fedora Linux (6)
Primeiras impressões do Debian 13 (17)