So this weekend, we adopted the dog we had babysat a weekend ago. The family came down on Sunday, and dropped off KC who was bounding out of the car and went to check that her chew toy was still in the kid's room. (It was.) It has been walks 2x a day and getting myself used to a schedule of getting up early enough to get here up the trails and me back before I am late to work. So far this week it is Days On Time: 1, Days Off Time: 1. Will see how that progresses.
We got our second large programming assignment this week. It is basically a specialized stenography problem. Take a dictionary, and find the words that hide the word that is given to you. Make sure it covers all cases, make it as optimal as possible. So I spent a lot of the weekend and last night looking over various Java data structures that would help me accomplish this in the most optimized lookup time. The professor upped the anty yesterday by adding a prize to the person who gets the top 3 spots, having to beat him and the T.A. also. So far the lookup costs look to be:
- comparing the Given Word (GW) against any given Dictionary Word (DW). Given Word has a length of M and Dictionary Word needs to be at least M in size. The easiest solution would be to loop over the letters in GW and see if they exist in DW taking in account of duplicate letters.
- finding words that would make good guesses to compare against versus going through the dictionary word by word to find a choice.
I did look up trie (short for retrieval) trees as they are used a lot in dictionary lookups but that doesnt seem to meet the goal as it seems to be better for ordered lookups versus anagram like lookups. Will post more later.. back to a server that died.