For some days I'd been struggling because it seemed some algorithms weren't as well-defined as I'd hoped. For example, brute force and divide-and-conquer seemed to me to be less algorithms than notions for categorizing thousands of possible algorithms.
Well, I'm delighted to say that these techniques actually can be systematized. I checked out Steven Skiena's "Programming Challenges" from the library. Opening it up to "backtracking," I could instantly could tell that it would be a blessing for me this month. (Thanks for the suggestion, Dr. Sykes!)
One of my goals is to have a "canned" generic algorithm in code, which can be extended to solve specific problems. Skiena actually uses this method of presentation in his chapters (though not in Python), which should be a real boon for speeding up my process. Once I have enough algorithms generically coded up, along with some example applications of them, I can address the more interesting issue of determining which algorithm to use.
Tomorrow I'll tie up the loose ends with Backtracking and move on to graph traversal algorithms.
No comments:
Post a Comment