Hi There,
Preparing for Coding Interviews? Looking for Best Data Structures And
Algorithms Online Classes? Learn how, in this professional-level course.
Bring your programming experience, and join us for a deep dive into fundamental concepts that you can use
right away. Go underneath the hood of functional algorithms and data structures, and learn to answer Why/
What/ When and How to use a Data Structure? and Add to your developer toolkit with this in-depth exploration
of algorithms and data structures.
Confidently solve unseen problems: Learn to recognise
patterns in interview problems and their solutions. As we focus more on how to formulate the solution for any
given problem.
Overcome Interview-Anxiety: You're good at what you do, but anxiety kills your interviews. The only way
to get over it is with practice, confidence. For Instance; Of all the possible interview topics out there,
dynamic programming seems to strike the most fear into everyone's hearts. But it doesn’t have to be that way.
After holding the classes for over 1000+ students, We started to see a pattern. Students aren’t really afraid
of dynamic programming itself. They are scared because they don’t know how to approach the
problems.
We focus more on how to formulate the solution for any given problem. We try to simplify any given
problem into simple questions which you can solve easily. For example; How are you going to figure out,
you can use stack for the given problem? Once figured out, How are you going to use stack? When
are you going to do PUSH/ POP operation? What are you going to do as part of the PUSH/ POP operation?
Why GildAcademy for Data Structures And Algorithms?
- Coding more than 150+ Problems during the course, entire focus will be on Hands-on Implementation
- Confidently Solve Unseen Problems - Learn to recognise patterns in interview problems and their solutions. As we focus more on how to formulate the solution for any given problem.
- In-depth coverage of syllabus with prime focus on fundamental concepts. Gradual transition from basic to advance level.
- Mostly Coding Problems solved for cracking Big Job Hunters: Microsoft, Google, Amazon, Oracle, Adobe, Walmart, Ola Cabs, Uber and many more.
- Solving code challenges on HackerRank/ HackerEarth/ LeetCode, one of the best ways to prepare for programming interviews.
- Detailed discussions on efficient Data Structures usages, which Data Structure to use when and why?
- Repeat the entire course again any time
Prerequisite?
- Prior knowledge of any programming language; C/ C++/ Java/ Python/ C#
How it Works ?
- Duration : 10 weeks (Only Weekends Sat & Sun, Class Duration: 3 Hours)
- Effort : 6-8 hours per week
- Format : Live Classes
- Model: Instructor-led
What you'll learn:
- Algorithmic Analysis (Time & Space Complexity)
- What is Time Complexity? What is Space Complexity?
- How to compute Time Complexity? How to Compute Space Complexity?
- Problems based on to find Time Complexity
- What is Time- Space Trade-off?
- Sorting Algorithms
- Bubble Sort
- Insertion Sort
- Selection Sort
- Heap Sort
- Quick Sort
- Merge Sort
- Example problems based on Sorting:
- Sort Characters By Frequency
- Largest Number
- Next Permutation
- Searching Algorithms
- Linear Search
- Binary Search
- Example problems based on Searching:
- Search a 2D Matrix
- Find first and last positions of an element in a sorted array
- Search in Rotated Sorted Array
- Recursion
- What is Recursion?
- How Recursion works?
- Example problems based on Recursion:
- Letter Case Permutation
- Recursive solution to count substrings with same first and last characters
- Recursive Implementation of atoi()
- Data Structures
- Linked lists:
- Singly Linked List
- Example problems based on Singly Linked List:
- Design Linked List
- Merge two sorted linked lists using recursion
- Remove Duplicates from Sorted List using recursion
- Cycle Detection
- Intersection of Two Linked Lists
- Palindrome Linked List
- Merge k Sorted Lists
- Reverse Linked List
- Linked List Components
- Rotate List
- Doubly Linked List
- Example Problems based of Doubly Linked List:
- Copy List with Random Pointer
- Inserting a Node Into a Sorted Doubly Linked List
- Reverse a doubly linked list
- Circular Linked List
- Stacks
- Stack Implementation using Array
- Stack Implementation using Linked List
- Example problems based on Stack:
- Valid Parentheses
- Next larger element
- Longest Valid Parentheses
- Minimum Add to Make Parentheses Valid
- Decode String
- Maximum Frequency Stack
- Largest Rectangle in Histogram
- Daily Temperatures
- Score of Parentheses
- Sort a stack using recursion
- Queues:
- Queue Implementation using Circular Array
- Queue Implementation using Linked List
- Example problems based on Queue:
- Sliding Window Maximum
- How to implement source code version management tool like GitHub
- Gas Station
- Minimum Window Substring
- Design Circular Queue
- Generate Binary Numbers
- Number of Recent Calls
- Implement LRU Cache
- First non-repeating character in a stream
- Implement Stack using Queues
- Implement Queue using Stacks
- Tree
- Tree Implementation
- Binary Tree
- Example problems based on Binary Tree:
- Tree: Preorder Traversal (using recursion and iteration)
- Tree: Postorder Traversal (using recursion and iteration)
- Tree: Inorder Traversal (using recursion and iteration)
- Tree: Level Order Traversal
- Merge Two Binary Trees
- Average of Levels in Binary Tree
- Invert Binary Tree
- Cousins in Binary Tree
- Binary Tree Paths
- Path Sum
- Check Completeness of a Binary Tree
- Binary Tree Right Side View
- Tree : Top View
- Vertical Order Traversal of a Binary Tree
- Boundary Traversal of binary tree
- Binary Search Tree
- Problems based on Binary Search Tree:
- Validate Binary Search Tree
- Recover Binary Search Tree
- Delete Node in a BST
- Insert into a Binary Search Tree
- Lowest Common Ancestor of a Binary Search Tree
- Minimum Absolute Difference in BST
- Convert Sorted Array to Binary Search Tree
- Heap
- What is Heap? Types of Heap?
- What is Maxheapify?
- How to build Heap?
- Heap Sort
- Example problems based on Heap:
- Kth Largest Element in an Array
- Kth Largest Element in a Stream
- Kth Smallest Element in a Sorted Matrix
- Merge k Sorted Lists
- Top K Frequent Elements
- Sort Characters By Frequency
- Graph:
- Graph Implementation using adjacency matrix
- Graph Implementation using adjacency list
- BFS of graph
- DFS of Graph
- Keys and Rooms
- Find all reachable nodes from every node present in a given set
- Topological sort
- Detect cycle in a directed graph
- Detect cycle in an undirected graph
- Print all paths from a given source to a destination
- Find Eventual Safe States
- Clone Graph
- Number of Islands
- Minimum steps to reach target by a Knight
- Algorithm Design Technique:
- Divide and Conquer
- What is D&C? Properties of D&C?
- Merge Sort
- Quick Sort
- Example problems based on D&C
- Maximum Sum Subarray using Divide & Conquer
- Majority Element
- Beautiful Array
- Reverse Pairs
- Greedy Programming,
- What is Greedy Programming? Properties of Greed Programming?
- Example problems based on Greedy Programming:
- Fractional Knapsack Problem
- Huffman Decoding
- Job Sequencing Problem
- Minimum Number of Platforms Required for a Railway/Bus Station
- Minimize Cash Flow among a given set of friends who have borrowed money from each other
- Kruskal’s Minimum Spanning Tree Algorithm
- Dynamic Programming
- What is DP? Properties of DP?
- Why DP? Types of DP based solutions?
- Example problems based on DP:
- Min Cost Climbing Stairs
- House Robber
- Coin Change
- The Longest Common Subsequence
- Edit Distance
- Number of paths with exactly k coins
- Palindromic Substrings
- Counting Bits
- Longest Palindromic Subsequence
- Subset Sum Problem
- 0-1 Knapsack Problem
- Backtracking
- What is Backtracking? Properties of Backtracking?
- Example problems based on Backtracking:
- N-Queens
- Sudoku Solver
- Reconstruct Itinerary
- Subsets
- Word Break II
- Word Ladder II
- Letter Combinations of a Phone Number
These are just the outline of the course. Based on topic chosen by students we try to accommodate the topics as and where required.
P.S. We have not put majority of the questions that we discuss/ implement in the class because of the privacy of the content; In case you are intersted in understanding, please drop a mail or give us a call.