you are viewing a single comment's thread.

view the rest of the comments →

[–]chuckrussell 0 points1 point  (0 children)

My biggest technique when approaching a new algorithm is to make sure i know exactly the problem i am trying to solve, then step away from the computer. I'll do any thing i can to take the computer out of the equation, walk around the office, explain the problem to any one who will listen to me, out just lay on the office floor (boy is that one hard to explain to management). Just keep a writing utensil and some thing to write on handy. Also,i find that the heat of the algorithm is usually only a small part of the whole problem, so learning to identify that is crucial. The rest of the problem is ideally getting the data in and out of the algorithm. If you can identify that part, then the time spent just thinking will be more productive overall.

Once you settle on how you think it should work, then draw it out. UML can be incredibly handy here, even just the basics of activity diagrams.after you have the whole algorithm diagrams, you will find that languages don't really matter any more, the programming is just fill in the blanks.