Does Learning About Algorithms Matter?

I know I am late to the game. I am graduating this term, and am just now taking CS 325 – Analysis of Algorithms. I did not choose to prioritize taking this class, as I viewed it as a “math-y” class that would take up a large chunk of my time in order to learn things that I would never need to know in the real world.

However, here I am, half-way through the course, and realizing that some of the topics this course touches on are important. Many of the topics learned in CS 325 are problem-specific, such as the “N Queens” problem, and the “0-1 Knapsack” problem. One may think to themselves, “why would I ever need to know these algorithms? I would never actually use them.” I now realize that it is not about the solutions to these specific problems, but more so about what underlying problems they solve. It’s true that you do not need to memorize the 0-1 Knapsack problem, but what does this problem do that is important? It is about optimization. When you are in the real world, working with real data, it becomes easy to see how large these data sets can be. If your code can run in linear time versus exponential time, that is a huge improvement in terms of large inputs.

So if you ever find yourself wondering why you need to take an algorithms course to learn solutions to problems and their time complexities, remember what is mentioned above. Some day you may find yourself in this situation, and look back and realize that algorithms is, in fact, an important topic to understand.

Leave a comment

Your email address will not be published. Required fields are marked *