Why study algorithm and data structure

Why study algorithm and data structure

Many young programmers scour the web trying to find answers to this question: How to study algorithm and Data structure? Certainly, a good place to start... But I believe a more relevant question would be this: What are algorithms and data structures, and why should I study them?

Let’s start with this motivating quote: “Every program depends on algorithms and data structures, but few programs depend on the invention of brand new ones.” -- Kernighan & Pike

What is an algorithm?

Wikipedia says “an algorithm is a self-contained step-by-step set of operations to be performed. Algorithms perform the calculation, data processing, and/or automated reasoning tasks.”

You’d be surprised that there are still some of us who could be tripping on words while trying to explain algorithms, data structures, and their importance. Simply put, whether you are cooking a burger or adding two numbers, there’s an algorithm working its magic there. From monitoring stock markets to oil crises to determining crop yield to pairing soul mates, algorithms are omnipresent.

One definition from the Internet is this: An algorithm is a detailed step-by-step instruction set or formula for solving a problem or completing a task. You need to tell your computer what task to perform, right? You need algorithms or specific computational procedures to achieve the input–output relationship. Repetition, sequencing, and conditional logic or decision are computational concepts that manifest in your everyday life. Your morning routine can be an algorithm. Can you guess how?

There’s this great TEDEd cartoonby Harvard computer scientist David J. Malan you should see.

Algorithms are much more than instructions. It doesn’t matter if you call them algorithms or programming basics, what matters is that they teach you to define clear steps and conceptualize solutions in terms of distinct steps in a process.

As we are computer science-mad people, I should do some fancy talking about a few algorithm types. Shopping for the prom dress, investing in stocks, or driving to the mall, you are using thegreedy algorithm. In the hope of finding a global optimum, you find the locally optimum choice at each stage (Wikipedia). I beg your pardon? (Say it with a Brit accent, if you please. I love it.)

If you know the famoustraveling salesman problem in computational mathematics, then you’ll know how you can apply to delivering meals to homebound people.

Readthis articleabout a two-year project led by Prof. William Cook from the University of Waterloo, canada. His math team added new dimensions to the TSP; they calculated the shortest distance possible to get to almost 25,000 pubs in the UK using Google Maps. The route is circular, with the longest distance being 50 hours and the average distance being an hour. If you want to go to each pub on this list, get ready for 28,270 miles.

Like Cook said: “We did not set out to improve the lot of a wandering pub aficionado.” But I guess they did just the same!

It is all about forgetting future consequences and taking the best you can this minute. This I understand! What approach would you use to find a name in a phonebook?Thebrute-force algorithm.

On a good day, you go through the zillion names and find it quickly, that is, trying all possibilities till you get a solution that is good enough. A criminal can use the brute-force method, which is a trial-and-error approach, to crack data that is encrypted. This one doesn’t work so well if the complexity (size) of the problem increases.

Do you recall in the late 90s IBM’s Deep Blue used brute force methods to defeat the then reigning chess champion, Garry Kasparov? We have moved on and computational abilities have progressed beyond belief.

You havedata compression algorithmsusing mp3 to JPEG to Zip that reduce the file size by saving oodles of time and space.Huffmanis a widely used one; most repeating bytes represent the least number of bits.

 

Share it:
Share it:

[Social9_Share class=”s9-widget-wrapper”]

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

You Might Be Interested In

​Predictive Analytics: Why The Future Doesn’t Need To Be Left To Chance

28 Dec, 2016

Applying analytical and statistical techniques to historical data makes it possible to identify the patterns that highlight potential business development …

Read more

What Data Analytics Can And Cannot Do

3 Jan, 2017

There is a lot of interest in Big Data, Business Intelligence, Predictive Analytics, and other data-related fields these days. Whether …

Read more

The Evolution of the Chief Data Officer

4 Oct, 2020

If data is the new oil as some say, someone needs to lead the management of that oil. This, at …

Read more

Do You Want to Share Your Story?

Bring your insights on Data, Visualization, Innovation or Business Agility to our community. Let them learn from your experience.

Get the 3 STEPS

To Drive Analytics Adoption
And manage change

3-steps-to-drive-analytics-adoption

Get Access to Event Discounts

Switch your 7wData account from Subscriber to Event Discount Member by clicking the button below and get access to event discounts. Learn & Grow together with us in a more profitable way!

Get Access to Event Discounts

Create a 7wData account and get access to event discounts. Learn & Grow together with us in a more profitable way!

Don't miss Out!

Stay in touch and receive in depth articles, guides, news & commentary of all things data.