Short Answer :- They are important because, they are what you do after you've become a computer scientist. Without,data structures and algorithms, you will be only a monkey coder.
Long Answer :- As computer scientist, our job is to perform operations on data, we basically perform the following three steps :-
Long Answer :- As computer scientist, our job is to perform operations on data, we basically perform the following three steps :-
1) Take some input
2) Process it
3) Give back the output.
2) Process it
3) Give back the output.
The input can be in any form, for eg while searching for directions on google maps, you give the starting point and the destination as input to google maps, while logging in to facebook, you give your email and password as input and so on.
Similarly, in the third step, the computer application gives us output in some form or the other.
To make this process efficient, we need to optimize all the three steps. As you can guess, the most we can optimize is the 2nd step, which is where we have Data structures and algorithms.
Data structures refers to the way we organize information on our computer. With a slight thinking , you can guess that the way we organize information can have a lot of impact on the performance. Take for example, a library. Suppose, you want to have a book on Set Theory from a public library, to do that you have to first go to the maths section, then to set theory section. If these books are not organized in this manner and just distributed randomly then it will be really a cumbersome process to find a book on set theory.
This is the way a librarian organizes his books(data) into a particular form (data structure) to efficiently perform a task(find a book on set theory).
In this manner we computer scientist process and look for the best way we can organize the data we have, so it can be better processed based on input provided.
In this manner we computer scientist process and look for the best way we can organize the data we have, so it can be better processed based on input provided.
I hope you get my point.
Why are data structures and algorithms so important in computer science?
Short :- They are important because, they are what you do after you've become a computer scientist. Without,data structures and algorithms, you will be only a monkey coder.
Long Answer :- As computer scientist, our job is to perform operations on data, we basically perform the following three steps :-
Long Answer :- As computer scientist, our job is to perform operations on data, we basically perform the following three steps :-
1) Take some input
2) Process it
3) Give back the output.
2) Process it
3) Give back the output.
The input can be in any form, for eg while searching for directions on google maps, you give the starting point and the destination as input to google maps, while logging in to facebook, you give your email and password as input and so on.
Similarly, in the third step, the computer application gives us output in some form or the other.
To make this process efficient, we need to optimize all the three steps. As you can guess, the most we can optimize is the 2nd step, which is where we have Data structures and algorithms.
Data structures refers to the way we organize information on our computer. With a slight thinking , you can guess that the way we organize information can have a lot of impact on the performance. Take for example, a library. Suppose, you want to have a book on Set Theory from a public library, to do that you have to first go to the maths section, then to set theory section. If these books are not organized in this manner and just distributed randomly then it will be really a cumbersome process to find a book on set theory.
This is the way a librarian organizes his books(data) into a particular form (data structure) to efficiently perform a task(find a book on set theory).
In this manner we computer scientist process and look for the best way we can organize the data we have, so it can be better processed based on input provided.
In this manner we computer scientist process and look for the best way we can organize the data we have, so it can be better processed based on input provided.
I hope you get my point.
Computers are basically tool to solve problems.Problems generally has data to process on to make some decisions. In any real life problem this data would be very large.
So we saw what computers are used for now let's look at computer itself. It has CPU which is brain and it had RAM which is memory or place where temporarily data on which CPU is processing will reside.
Now let's see what kind of problems we have.We have records stored in file and we want to compute next months salary for employee and so on. Now if you compile such problems and try to come up with intersection of this problems we generally come to simple intersection problem how to access this data fast.
Now you remember this data is residing in RAM and you want to access it faster. Please see you are here limited by the power of CPU , Size of RAM , bus bandwidth so you are now left with option to organise your data in RAM such that access to it will be great due to the way you are arranging and organising data in RAM.
Now you start thinking how to organise data optimally so, answer you get is depending on what operations we do frequently. Looking at intersection of operations you generally perform you come to know searching something in data is more frequent operation also you notice that searching could be faster if you again pre organise data in some forms hence you came up with sorting.
Now you define some structures so that this operations of searching and sorting is fast and thus you came up with linked list , stacks and so on….
Hope this clears up importance.
Data structure is a particular way of storing and organizing information in a computer so that it can be retrieved and used most productively.
Different kinds of data structures are meant for different kinds of applications, and some are highly specialized to specific tasks.
Data structures are important for the following reasons:
1. Data structures are used in almost every program or software system.
2. Specific data structures are essential ingredients of many efficient algorithms, and make possible the management of huge amounts of data, such as large integrated collection of databases.
3. Some programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design
Different kinds of data structures are meant for different kinds of applications, and some are highly specialized to specific tasks.
Data structures are important for the following reasons:
1. Data structures are used in almost every program or software system.
2. Specific data structures are essential ingredients of many efficient algorithms, and make possible the management of huge amounts of data, such as large integrated collection of databases.
3. Some programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design
No comments:
Post a Comment