## Data structures:-

Data Structure is defined as a way to store and organize data because it can be used efficiently. There are deafferents methods to organize the data in the memory for example’s: array

## Array :-

In arrays collection of memory elements and data is stored sequentially, like rows one after another. In simple words, we see that array stores the elements in a continuous manner. If data is organized in such a way we can say that this is an array of data structures. There are also many other ways to organize the data in memory except arrays.

## Data structures types:-

**Primitive DS**

2. **Non-primitive DS**

**Primitive DS**:-

The primitive DS are primitive data types. Primitive data types include int, float, char, double, and pointer that can hold a single value.

## Non-Primitive DS:-

Non-primitive DS include two types that are:

- Linear DS
- Non-linear DS

In Linear DS data is arrange in a sequential manner. Arrays, Linked list, Stacks, and Queues are used in linear DS. In linear DS one element is connected to only with one another element in a linear way.

## Classifications of DS:-

**Static DS:**–

Type of DS where the size is allocated at compile time. Whereas, the maximum size is fixed.

**Dynamic DS**:-

Type of DS where the size is allocated at run time. Whereas, the maximum size is flexible.

By this book you will learn details of these different topics of Applications and Algorithms of Data Structures in C++:-

- Functions and parameters
- Exception Handling
- Throwing Exception
- One-dimensional array
- Two-dimensional array
- Operator Overloading
- Classes
- Recursions
- Recursion with functions
- Testing
- Debugging
- Space Complexity
- Components of space complexity
- Components of time complexity
- Operation counts
- Asymptotic Notation
- Omega and Theta Notation
- How to measure performance
- Linear list
- Abstract classes
- Vector representation
- Header nodes
- Circular list
- Arrays representation
- Matrices with example’s
- Class matrix
- Diagonal matrix
- Tridiagonal matrix
- Symmetric matrix
- Sparse matrix using single linked list
- Performance measurement of Sparse matrix
- Applications of stacks
- Class linked list stack
- Applications of Queues
- Abstract data types of Queue
- Trees
- Binary trees
- How to represent binary trees
- Binary tree traversal
- Detail of Heaps
- Insertion and deletion of max heaps
- Initialization of heaps
- Binary search tree
- Binary search tree implementation
- Representation, insertion and deletion into an AVL search tree

Check the book for more topics of Data structure: