Sunday, November 3, 2013

Data Structures : The First Steps

Data structures and algorithms are among the first things Computer Science students learn regarding programming, and for good reason. Every trade has it's tools, and among a programmer's tools you will find a knowledge base of various data structures. Almost all programming revolves around manipulating data structures, whether they are arrays, lists, queues or trees. It's because of this a knowledge of data structures is fundamental.

In writing this blog post I wanted to learn. I wanted to find something I didn't know previously, and set out to understand more about data structures for both this blog and myself. I've come to find that knowledge of data structures is used as a means of testing new hires in interviews. Various companies like Amazon, Google, and Microsoft all integrate some testing of their candidates knowledge of data structures, as it provides a window to their knowledge of programming.

The importance of knowing the ins and outs of data structures isn't readily apparent from working on projects at a university. Often it takes a mistake to appreciate a correct decision, and in our college work we don't get to work on projects quite as big as one would encounter in the real world. Projects typically span a semester at most, and don’t' deal with the amount of data that would really exasperate a poorly chosen data structure. It's because o this that a sound working knowledge of these systems is so important, that you need not conduct a trial by fire at the workplace.

Personally I know I have room for improvement in my understanding of data structures. This is a result of my work ethic and personal introspection. There is always more to learn, and I will never consider a topic mastered. Perfection in this manner, to me, is unachievable, and always gives me something to work for.

An interesting presentation I rifled through was “Data Structures from the Future:Bloom Filters, Distributed Hash Tables, and More!” By Tom Limoncelli, which gave some insight on various data structures I knew less about.

No comments:

Post a Comment