Dictionary of Algorithms and Data Structures
During my time as a Computer Science student, my teachers drilled plenty of wise advice into my head. “Keep it simple stupid,” “language doesn’t matter” and “stop eating poptarts on top of the keyboard” were things I heard them say often, but one always stuck in my head. Mostly because it gave me a perfectly valid reason to be lazy. Those words are “Don’t reinvent the wheel”.
I can’t stress enough how important these words are. We don’t have endless days to spend coding and in a long project, something that saves even one hour of time can be a blessing. Tons of hard-working and talented people have already put forth the effort to solve some of the hardest problems. Why let their effort go to waste?
This is where a really handy website comes into play. You can often find lots of general programming advice by Googling around, but when you want to get to the more advanced programming. The kind of stuff that leaves you scratching your head for hours, this is the place. The Dictionary of Algorithms and Data Structures has been maintained by the National Institute of Standards and Technology since 1998 as a reference for programmers. I imagine that it hasn’t changed a lot since then, but the amount of information in there is massive.
So give it a shot next time you’re having a hard time on a problem. Chances are you aren’t the first person to encounter the problem and it’s probably in there somewhere.