What will you learn in the training?

img
Actual fees INR 45000

ARTH learners NIL

img
Program Duration

60 hours Total (3 Months)

  • Understanding Data Structures

    Understanding Data Structures

  • Static data structure

    Static data structure

  • Classes And Objects

    Classes And Objects

  • A brief overview of Linear Data Structures

    A brief overview of Linear Data Structures

  • A brief overview of Non-Linear Data Structures

    A brief overview of Non-Linear Data Structures

  • Algorithms

    Algorithms

  • Asymptotic Analysis

    Asymptotic Analysis

  • Complexity Analysis
    • Space Complexity
    • Time Complexity
  • Anaconda And Jupyter Notebook

    Anaconda And Jupyter Notebook

  • Arrays
    • Arrays Introduction
    • List Datatype
    • Difference between List and Array
    • Where to Implement Arrays
    • Search, insert and delete operations in an unsorted array
    • Search, insert and delete operations in a sorted array
    • Program to reverse an array
    • Count Inversions in an array
    • Leaders in an array
    • Majority Element
    • Number Occurring Odd Number of Times
    • Largest Sum Contiguous Subarray
    • Find the Missing Number in an array
    • Search an element in a sorted and pivoted array
    • Merge an array of size n into another array of size m+n
    • Median of two sorted arrays
    • Program for array rotation
    • Reversal algorithm for array rotation
    • Block swap algorithm for array rotation
    • Maximum sum such that no two elements are adjacent
    • Sort elements by frequency
    • 2-D Arrays
    • Advance Manipulation of 2-D Arrays
    • Different Kind of arrays
      • Indexed Arrays
      • Multidimensional array
      • Associative arrays
  • Searching Algorithms
    • Linear Search
    • Binary Search
    • Jump Search
    • Interpolation Search
    • Exponential Search
    • Sublist Search (Search a linked list in another list)
    • Fibonacci Search
    • The Ubiquitous Binary Search
    • Linear Search VS Binary Search
    • Interpolation search vs Binary search
    • Recursive function to do substring search
    • LeetCode Questions
  • Sorting Algorithms
    • Asymptotic AnalysisBubble Sort
    • Selection Sort
    • Insertion Sort
    • Merge Sort
    • Quicksort
    • Counting Sort
    • Radix Sort
    • Bucket Sort
    • Heap Sort
      • Binary Heap
      • Binomial Heap
      • Fibonacci Heap
      • Heap Sort
      • K’th Largest Element in an array
      • Tournament Tree (Winner Tree) and Binary Heap
    • Shell Sort
    • Cyclic Sort
  • Stack
    • Introduction to Stack
    • LIFO
    • Implementation of Stacks
    • Infix to Postfix Conversion using Stack
    • Evaluation of Postfix Expression
    • Reverse a String using Stack
    • Implement two stacks in an array
    • Reverse a stack using recursion
    • Sort a stack using recursion
    • Stock Span Problem
    • Implement Stack using Queues
    • Design a stack with operations on middle element
    • How to efficiently implement k stacks in a single array?
    • Sort a stack using recursion
  • Queues
    • Queue Introduction and Array Implementation
    • Linked List Implementation of Queue
    • Applications of Queue Data Structure
    • Priority Queue Introduction
    • Deque (Introduction and Applications)
    • Implementation of Deque using circular array
    • Implement Queue using Stacks
    • Find the first circular tour that visits all petrol pumps
    • Maximum of all subarrays of size k
    • How to efficiently implement k Queues in a single array?
  • Linked List
    • Introduction to Linked List
    • Linked List vs Array
    • Traversing a Linked List
    • Insertion Deletion in Linked List
    • Find Length of a Linked List (Iterative and Recursive)
    • Swap nodes in a linked list without swapping data
    • Reverse a linked list
    • Merge two sorted linked lists
    • Merge Sort for Linked Lists
    • Reverse a Linked List in groups of a given size
    • Rotate a Linked List
    • Generic Linked List in C
  • Doubly Linked List
    • Doubly Linked List Introduction and Insertion
    • Traversing a Doubly Linked List
    • Delete a node in a Doubly Linked List
    • Reverse a Doubly Linked List
    • The Great Tree-List Recursion Problem.
    • QuickSort on Doubly Linked List
    • Merge Sort for Doubly Linked List
  • Circular Linked List
    • Circular Linked List Introduction and Applications,
    • Circular Singly Linked List Insertion
    • Circular Linked List Traversal
    • Split a Circular Linked List into two halves
    • Sorted insert for circular linked list
  • Binary Trees
    • Binary Tree Introduction
    • Binary Tree Properties
    • Types of Binary Tree
    • Handshaking Lemma and Interesting Tree Properties
    • Enumeration of Binary Tree
    • Applications of tree data structure
    • Traversals of a Binary Tree
    • BFS vs DFS for Binary Tree
    • Level Order Tree Traversal
    • Diameter of a Binary Tree
    • Inorder Tree Traversal without Recursion
    • Threaded Binary Tree
    • Maximum Depth or Height of a Tree
    • Construct Tree from given Inorder and Preorder traversals
    • LeetCode Questions
  • Binary Search Tree
    • Search and Insert in BST
    • Deletion from BST
    • Minimum value in a Binary Search Tree
    • Inorder predecessor and successor for a given key in BST
    • How to Check if a binary tree is BST or not
    • Lowest Common Ancestor in a Binary Search Tree
    • Inorder Successor in Binary Search Tree
    • Floor and Ceil from a BST
    • In-place conversion of Sorted DLL to Balanced BST
    • Total number of possible Binary Search Trees with n keys
    • Merge Two Balanced Binary Search Trees
    • Binary Tree to Binary Search Tree Conversion
    • Applications of Binary Search Tree
  • Height Balanced Trees (AVL Trees)

    Height Balanced Trees (AVL Trees)

  • Graphs
    • Graph Introduction
    • Graph Terminologies
    • Types of Graphs
    • Graphs in Memory
    • Traversing Graph
    • Graph and its representations
    • Basic Properties of a Graph
    • Difference between Graph and Tree
    • Breadth First Traversal for a Graph
    • Depth First Traversal for a Graph
    • Applications of Depth First Search
    • Applications of Breadth First Traversal
    • Detect Cycle in a Directed Graph
    • Detect Cycle in a an Undirected Graph
    • Detect cycle in an undirected graph
    • Longest Path in a Directed Acyclic Graph
    • Topological Sorting
    • Snake and Ladder Problem
    • Boggle
    • Minimum Spanning Tree
    • Dijkstra’s shortest path algorithm
    • Dijkstra’s Algorithm for Adjacency List Representation
    • Bellman–Ford Algorithm
    • Floyd Warshall Algorithm
    • Advance Graph UseCases
  • Future aspects of Data Structure & Algorithms

    Future aspects of Data Structure & Algorithms

  • Matrix Data Structure
    • Matrix Introduction
    • Search in a row wise and column wise sorted matrix
    • Print a given matrix in spiral form
    • Boolean Matrix
    • Traverse unique rows in a given boolean matrix
    • Inplace M x N size matrix transpose
    • Strassen’s Matrix Multiplication
  • Hashing Data Structure
    • Hashing Introduction
    • Hash Function
    • Hash Table
    • Hashing Working
    • Collision Resolution Techniques
    • Linear Probing
    • Double Hashing
    • Open Addressing for Collision Handling
    • Traverse a Binary Tree in Vertical Order
    • Application of Hashing Data Structure
  • Dynamic Programming
    • Introduction on Dynamic Programing in Python
    • When to use Dynamic Programing
    • Recursion
    • How to identify Dynamic programing problems
    • Algorithms
      • Floyd Warshall Algorithm
      • Bellman-Ford Algorithm
    • Multi stage decision process
    • Principle of Optimality
    • Backward induction
    • Optimal substructure Property
    • Time complexity and its effects
    • Memory profiler
    • Minimum Edit Distance In Dynamic Programming
    • Methods
      • Top down method / Memoization
      • Bottom up method / Tabulation
    • Concept and importance of space complexity
    • Advance Concepts
      • Bitmasking and Dynamic Programing
      • Digit DP
    • Dynamic Programming Problems
      • Knapsack Problem
      • Tower Of Hanoi Problem
      • Overlapping structure problem
      • Traveling Salesman problem
  • Advance Data Structures
    • Memory efficient doubly linked list
    • XOR Linked List
    • Unrolled Linked List
    • Segment Tree
    • Lazy Propagation in Segment Tree
    • Persistent Segment Tree
    • Binary Indexed Tree
    • Suffix Array Introduction
    • Suffix Array nLogn Algorithm
    • Kasai’s Algorithm for Construction of LCP array from Suffix Array
    • Suffix Tree Introduction
    • Generalized Suffix Tree
    • Build Linear Time Suffix Array using Suffix Tree
    • Substring Check
    • Searching All Patterns
    • Longest Repeated Substring
    • Longest Common Substring, Longest Palindromic Substring