Algoritmica

Stabilire se due parole sono anagrammi una dell'altra


Supponiamo di avere due parole e di dover verificare se una è anagramma dell'altra.Ovviamente le parole devono avere la stessa lunghezza, altrimenti la verifica è banale.La soluzione più performante è quella di creare una struttura di appoggio, tipicamente un vettore, indicizzato con le lettere dell'alfabeto o con la loro trasposizione numerica.Si scorre la prima parola e per ogni lettere si incrementa il contatore nella cella corrispondente alla lettera.Successivamente si scorre la seconda parola ed in questo caso si decrementa il contatore corrispondente.Alla fine dei due cicli la struttura di appoggio deve contenere tutti contatori a zero.Complessità O(n) ottimo.