Skip to content

rawat-divyanshu/Data-Structures-And-Algorithms-Implementation

Repository files navigation

Data Structures & Algorithms Implementation

This repository is dedicated to Data Structures and Algorithms Implementation which I've learnt till the date.
Language of implementation is C++.
I've also added some reference materials that I've used through my learning at the end of this readme file.

1. Linked Lists

Single Linked Lists
  1. Creating and Displaying a Single Linked List.
  2. Insertion at Beginning, Ending and Specified Position in a Single Linked List.
  3. Deletion from Beginning, Ending and Specified Position in a Single Linked List.
  4. Number of Nodes and Reversing a Single Linked List.
Circular Linked Lists
  1. Creating and Displaying a Single Circular Linked List.
  2. Creating and Displaying a Double Circular Linked List.
  3. Insertion at Beginning, Ending and Specified Position in a Single Circular Linked List.
  4. Insertion at Beginning, Ending and Specified Position in a Double Circular Linked List.
  5. Deletion from Beginning, Ending and Specified Position in a Single Circular Linked List.
  6. Deletion from Beginning, Ending and Specified Position in a Double Circular Linked List.
Double Linked Lists
  1. Creating and Displaying a Double Linked List.
  2. Insertion at Beginning, Ending and Specified Position in a Double Linked List.
  3. Deletion from Beginning, Ending and Specified Position in a Double Linked List.
  4. Number of Nodes and Reversing a Double Linked List.

2. Stack

  1. Stack Implementation using Arrays.
  2. Stack Implementation using Linked List.

3. Queue

  1. Queue Implentation using Arrays.
  2. Queue Implementation using Linked List.

4. Sorting Algorithms

  1. Bubble Sort
  2. Insertion Sort
  3. Selection Sort
  4. Merge Sort
  5. Heap Sort
  6. Quick Sort
  7. Count Sort
  8. Radix Sort
  9. Shell Sort
  10. Pancake Sort

5. Searching Algorithms

  1. Linear Search
  2. Binary Search
  3. Jump Search
  4. Linear Search using Recursion

6. Binary Search Trees

  1. Constructing a Binary Search Tree (Example).
  2. Insertion in a Binary Search Tree.
  3. Deletion from Binary Search Tree.
  4. Searching a key in Binary Search Tree.

7. Tree Traversals

  1. Inorder Tree Traversal
  2. Inorder Tree Traversal without Recursion
  3. Preorder Tree Traversal
  4. Postorder Tree Traversal

Recursion Problems

  1. Check whether Array is Sorted or Not.
  2. Sort an Array using Recursion.
  3. Sort a Stack using Recursion.
  4. Reverse a Stack using Recursion.
  5. Tower of Hanoi Problem
  6. Subsets Generation
  7. Balanced Parentheses Problem
  8. Josephus Problem

Backtracking Problems

  1. N - Queens Problem
  2. Rat In a Maze Problem

Combinatorics Problems

  1. Birthday Paradox Problem

Reference Materials

  1. Recursion Playlist By Aditya Verma
  2. Dynamic Programming Playlist By Aditya Verma
  3. Dynamic Programming On Trees Playlist By Aditya Verma
  4. Heap Playlist By Aditya Verma
  5. Geeks For Geeks - Data Structures
  6. Geeks For Geeks - Algorithms

About

This repository is dedicated to implementation of various Data Structures and Algorithms.

Topics

Resources

Stars

Watchers

Forks

Languages