Data structure
The basic idea of a data structure is to store data in a way that meets the needs of your particular application(array, linked list, stack, queue, tree, graph, hash table, etc.).
According to Wikipedia entry on Data Structures:
In computer science, a data structure is a data organization, management, and storage format that is usually chosen for efficient access to data. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data, i.e., it is an algebraic structure about data.
Different types of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example, relational databases commonly use B-tree indexes for data retrieval, while compiler implementations usually use hash tables to look up identifiers
Usually, efficient data structures are key to designing efficient algorithms.
Algorithms
An algorithm is a set of instructions for accomplishing a task. Every piece of code that is written is an algorithm. The more efficient the algorithm, the faster the program will run.
Why learn algorithms?
- important for all other branches of computer science
- plays a key role in modern technological innovation
- provides novel “lens” on processes outside of computer science and technology:
- quantum mechanics, economic markets, evolution
“Perhaps the most important principle for the good algorithm designer is to refuse to be content.” -Aho, Hopcroft, and Ullman, The Design and Analysis of Computer Algorithms, 1974
You should always ask, CAN WE DO BETTER?