DATA-STRUCTURE-AND-ALGORITHMS-DSA-

This is my repository of Data Structures and Algorithms.

It includes topics:

  • AVL Trees
    • Determining whether the given tree is AVL Tree or not.
    • Right Rotation in Tree
    • Left Rotation in Tree
    • R-L Rotation in Tree
    • L-R Rotation in Tree
    • Converting any given tree to the AVL Tree
  • Binary Search Trees
    • Implementation of BST
    • Searching a particular element in the BST
    • Inserting a particular element in BST
    • Deleting a particular element in BST
    • Determining the Height of a particular BST
    • Counting the Total number of nodes present in the BST
    • Forming the Mirror Image of the given BST
    • Finding the smallest and the largest element in BST
  • Binary Trees
    • Level Order Traversal of the given Binary Tree
    • Iterative and Recursive way of finding InOrder Traversal
    • Iterative and Recursive way of finding PreOrder Traversal
    • Iterative and Recursive way of finding PostOrder Traversal
    • Constructing a binary tree form the Inorder and preorder traversals.
  • Graphs
    • Adjacency Matrix Representation of the Graph
    • Number of ways to reach from one node to another node
    • Adjacency List Representation of the Graph
    • Breadth Firts Traversal of the Graph
    • Depth First Trvaersal of the Graph using the Recursive and Iterative methods.
    • Topological Sort
    • Detecting a Cycle in the Graph.
    • Dijkstra Algorithm for Graph
    • Union Find Algorithm for Graph
    • Kruskal’s Algorithm for Graph
    • Floyd Warshall’s Algorithm for Graph
    • Prims Algorithm For Graph
    • To check weather the Given Graph is a binary tree or not
  • Hashing
    • Implemenetation of the basic Hash Algorithm
    • Hash Collision Techniques: Chaining and Open Addressing
  • Heaps
    • Converting the array representation of heap to tree form
    • Converting the tree representation of hea[ to array form
    • Inserting an element into the heap
    • Deleting an element into the heap
    • Heapify using iterative method
    • Heap Sort
    • Using priority queue from the STL
  • Linked List
    • Implemenetation and basic operations on singly linked list
    • Implemenetation and basic operations on Doubly linked list
    • Implemenetation and basic operations on Circular linked list
    • Implemenetation and basic operations on Doubly Circular linked list
  • Queues
    • Implementing queues from the arrays(Circular Queue).
    • Implementing queues from the Linked list
    • Double ended queue Implementation with basic operation
  • Searching
    • Linear Search
    • Binary Search
    • Jump Search
  • Sorting
    • Bubble Sort
    • Selection Sort
    • Insertion Sort
    • Merge Sort
    • Shell Sort
    • Count Sort
    • Quick Sort
    • Radix Sort
    • Heap Sort
  • Stacks
    • Implemenetation and basic operations of stacks using arrays.
    • Implemenetation and basic operations of stacks using Linked List.
    • Reversing a list using stacks
    • Balancing Parenthesis Problem
    • Infix to Postfix using stacks
    • Infix to prefix using stacks
    • Postfix to Infix using stacks
    • Prefix to Infix using stacks

GitHub

View Github