# 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
• 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
• 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

View Github