Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kinshuk-code-1729/data-structures-and-algorithms

This repository contains certain programs of DSA.
https://github.com/kinshuk-code-1729/data-structures-and-algorithms

arrays data-structures-and-algorithms data-structures-c graphs linked-lists queues searching-sorting stacks tree-structure

Last synced: about 2 months ago
JSON representation

This repository contains certain programs of DSA.

Awesome Lists containing this project

README

        

# πŸ‘€ This repository contains various codes of _Data Structures and Algorithms_ from _[GFG](https://www.geeksforgeeks.org/), [Leetcode](https://leetcode.com/) and [Hackerrank](https://www.hackerrank.com/)_.

![DSA Image](https://www.thinknexttraining.com/images/data-structues-and-algorithms-mob.jpg)

## πŸŽ† What is a data structure ?
- A data structure is a special way of organizing and storing data in a computer so that it can be used efficiently.
- **Array, LinkedList, Stack, Queue, Tree, Graph** etc are all basic data structures that store the data in a special way so that we can access and use the data stored in them efficiently.

## πŸŽ‡ Why do we need data structures ?
- Data structures are used in almost every program or software system.
- 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.
- In software design, Data structures are known to be major factors for collection, storing and organizing of data rather than algorithms in some programming languages.
- Often Data structures are used in the combination of algorithms.

## ✨ How are data structures used in programming language ?
- The data structure is not any programming language like _C, C++, Java,_ etc.
- It is a set of algorithms that we can use in any programming language to structure the data in the memory.
- To structure the data in memory, **_'n'_** number of algorithms were proposed, and all these algorithms are known as Abstract data types.

## ⭐ Classification of Data Structure :
![classification of DS](https://media.geeksforgeeks.org/wp-content/uploads/20220520182504/ClassificationofDataStructure-660x347.jpg)

- **_Linear_ data structure :** Data structure in which data elements are arranged sequentially or linearly, where each element is attached to its previous and next adjacent elements, is called a linear data structure.
**_Examples of linear data structures are [array](https://www.geeksforgeeks.org/array/), [stack](https://www.geeksforgeeks.org/stack/), [queue](https://www.geeksforgeeks.org/queue/), [linked list](https://www.geeksforgeeks.org/data-structures/linked-list/), etc._**

- **_Static_ data structure :** Static data structure has a fixed memory size. It is easier to access the elements in a static data structure.
**_An example of this data structure is an [array](https://www.geeksforgeeks.org/array/)._**
- **_Dynamic_ data structure :** In dynamic data structure, the size is not fixed. It can be randomly updated during the runtime which may be considered efficient concerning the memory (space) complexity of the code.
**_Examples of this data structure are [queue](https://www.geeksforgeeks.org/queue/), [stack](https://www.geeksforgeeks.org/stack/), etc._**

- **_Non-linear_ data structure :** Data structures where data elements are not placed sequentially or linearly are called non-linear data structures. In a non-linear data structure, we can’t traverse all the elements in a single run only.
**_Examples of non-linear data structures are [trees](https://www.geeksforgeeks.org/tree-data-structure/) and [graphs](https://www.geeksforgeeks.org/graph-data-structure-and-algorithms/)._**