@all .. i suggested him the hashing method... but was not convinced... he
might be expecting something else..   something like tries.. etc..

@ Karthikeyan Muthu... can u explain it in detail  with some ex ...

On Thu, Aug 23, 2012 at 11:28 PM, Karthikeyan Muthu <
keyankarthi1...@gmail.com> wrote:

> i would suggest using tires data structure, basically a n-nary tree to
> store the dictionary. Entire algo is as follows:
>
> 1) Create a trie <http://en.wikipedia.org/wiki/Trie> representing the
> dictionary.
> 2) create a aux array for the search key. as count [ key[i] ] ++;
> 3) Start a recursion from the root of the trie and pick a path if (count [
> path ] > 0 )
>       3rd step ensures that we traverse only those valid paths (ie valid
> words, this would reduce n! checking of all combinations).
>
>
> On Thu, Aug 23, 2012 at 8:23 PM, Ashish Goel <ashg...@gmail.com> wrote:
>
>> yes, that is correct.
>> O(mn) to form multimap and then O(m) to tell all anagram groups
>>
>> Best Regards
>> Ashish Goel
>> "Think positive and find fuel in failure"
>> +919985813081
>> +919966006652
>>
>>
>> On Thu, Aug 23, 2012 at 5:11 PM, kings <dns.bhar...@gmail.com> wrote:
>>
>>> Dear GC,
>>>
>>> The efficient data structure in my opinion is Hash Table.
>>>
>>> 1. For a given word in the dictionary we need to form an anagram
>>> dictionary i.e. take a given word sort it which forms the key for the
>>> hashtable , then start forming the different anagrams for that word and
>>> insert it into the hash table with the corresponding key.
>>>
>>> 2. Once the hash table is ready for the given word sort it find the key
>>> and print all the anagarams i.e. values associated to that key. we will get
>>> all the anagrams for a given word.
>>>
>>> Coming to time complexity...
>>>
>>> sorting of a word can be done in a O(nlogn).
>>> building of anagram will take O(n).
>>> hash complexity O(n) worst case.
>>> so total time complexity is O(nlogn) for whole execrcise.
>>>
>>> Thanks
>>> Bhargava
>>>
>>>
>>> On Wednesday, 22 August 2012 23:39:02 UTC+5:30, GC wrote:
>>>>
>>>> Ques..
>>>>
>>>> Given a m-word dictionary ... and a n-sized word... .. now suggest DS
>>>> for dictionary such that you can find out all the anagrams of the given
>>>> word present in dictionary...
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> G C
>>>>
>>>>
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Algorithm Geeks" group.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msg/algogeeks/-/ySPUSvS0Sh0J.
>>>
>>> To post to this group, send email to algogeeks@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Regards,
GAURAV CHAWLA
+919992635751
+919654127192

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to