Programming is all about data structures and algorithms. Data structures are used to hold data while algorithms are used to solve the problem using that data.

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**

Data structures and algorithms (DSA) goes through solutions to standard problems in detail and gives you an insight into how efficient it is to use each one of them. It also teaches you the science of evaluating the efficiency of an algorithm. This enables you to choose the best of various choices.

**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.”

**Why to Learn Data Structure and Algorithms ?**

As applications are getting complex and data rich, there are three common problems that applications face now-a-days.

- Data Search
- Processor speed
- Multiple requests

To solve the above-mentioned problems, data structures come to rescue. Data can be organized in a data structure in such a way that all items may not be required to be searched, and the required data can be searched almost instantly.

**Applications of Data Structure and Algorithms **

Algorithm is a step-by-step procedure, which defines a set of instructions to be executed in a certain order to get the desired output.

From the data structure point of view, following are some important categories of algorithms −

- Search
- Sort
- Insert
- Update
- Delete

Data Structure is a systematic way to organize data in order to use it efficiently. Following terms are the foundation terms of a data structure: Interface, and Implementation.

**Characteristics of a Data Structure :**

**Correctness –**

Data structure implementation should implement its interface correctly.**Time Complexity −**

Running time or the execution time of operations of data structure must be as small as possible.**Space Complexity −**

Memory usage of a data structure operation should be as little as possible.

**Hope this article is awesome if this adds some value to you. Don’t forget to subscribe to our newsletter. For more updates and tutorials on different programming and design.**