From the question
"I would like to be able to take all the letters in some arbitrarily long word of N letters and nd the anagrams (real words that are made of the same letters e.g. DOG and GOD)."
you shall devise an algorithm to make all permutations of the input word alpha with arbitrary length n. The question suggests to take all letters, so only anagrams of length n are relevant for the answer.
If you use e.g. the QuickPerm algorithm, you have a time complexity of O(n!) I think.
Now you have to find out whether it is a real word. For this you use the given dictionary dict
of all real words, which has a lookup complexity of O(1) and therefore has not to be considered.
So you have an overall complexity of O(n!).