Data Structures and Algorithms are fundamental building blocks of computer science and are used to design efficient solutions for various computational problems. Data Structures are used to organize and store data in a way that makes it easily accessible and modifiable, while algorithms are a set of instructions used to solve specific problems or accomplish specific tasks. Together, data structures and algorithms form the backbone of computer science and are essential for understanding how to design and analyze efficient solutions for a wide range of computational problems.
This repository contains various data structures and algorithms in implemented in C#. The goal of this repository is to provide a solid understanding of common data structures and algorithms, as well as their time and space complexity. This repository will be updated with every topic that I learn.
To use the code in this repository, you will need to have dotnet core installed on your machine. Simply clone the repository by writing the below command:
git clone https://github.com/sajadshafi/data-structures-and-algorithms.git
cd data-structures-and-algorithms
An array is a basic data structure that stores a collection of elements, all of the same type, in a contiguous block of memory. Each element in an array is identified by a unique index, which is an integer value starting from 0 in most of the programming languages but in some other programming languages the that index can start from 1 like in Python. Arrays allow for efficient access, insertion, and deletion of elements at specific indices.
-
Insertion
- Insertion at beginning
- Insertion at end
- Insertion at middle
-
Deletion
- Deletion at beginning
- Deletion at end
- Deletion at middle
-
Sorting
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
//Properties Node head; Node tail int _size; int Count => _size;
//TODO: