Hello to all my readers!
I am undergoing through the data structures in computer science once again. This is to strengthen the concept of data structures. And I thought to write it down in my blog that may or may not help you. But at-least it becomes easy for me to make the notes.
Although in college times, learning data structures was just a task without it’s actual practical implementation. But now working with computer systems, writing programs, I have realized the importance of data structures. And therefore now more attracted to learn them in detail.
Why To Learn Data Structures?
This is an interesting question each person should ask to himself. Why should we learn data structures.
See everything that we do with computers/laptops/tablets/smartphones/IOT devices, etc. involves some kind of data. Data can be words that I am typing right now. They can be numbers or a mix of words and numbers. And then images, audio, video, etc. There are different categories of data.
And we know that the machine operates on this data and runs the process or program to get some work done. Like it can be simply an excel storing numbers and calculating formulae. So data becomes numbers and excel becomes program to calculate (process) those numbers.
Such data is stored in memory and then the process manipulates the data and result is updated in memory. And when we save the file, data is finally stored on the hard disk. But any computation happens in memory and not disk since memory is too fast than disk. It is like we think and process something in our memory and then write it down on paper to save it for future processing in memory again. Like I am writing this post after processing in my brain/memory as to what to write.
Take another example of a library. If books are not arranged category wise or alphabetical wise, then it will become a tough job to find the required book. And we end up spending too much time in searching for a single book.
Therefore data structures are important to structure or organize the data in a way that it becomes easy for the process to manipulate it. There are different ways to structure the data in the memory. We need to understand and determine which data structure is apt for which scenario. It is similar to which container is best suited to make tea or vegetable. The same container can be definitely used to make both tea and vegetable but different shaped containers make it easier to prepare them you know.
This knowledge of which data structure to use when is definitely a vital skill for any programmer or even system engineer.
Thank you guys. I hope this has made it clear as to why we should learn data structures in detail.