In this course, you'll delve deeply into algorithms and data structures, which are key topics in technical interviews. You'll tackle problems involving linked lists, binary trees, dynamic programming, and graph algorithms. Understanding these advanced topics will equip you with the tools needed to solve complex problems efficiently.
Overview
Syllabus
- Unit 1: Linked List Operations in Java
- Determining if a Linked List is a Palindrome
- Swapping Nodes in a Linked List
- Remove Duplicates from Unsorted Linked List
- Rotate Right Linked List
- Detect Cycle in a Linked List
- Unit 2: Binary Tree Traversals Using Java
- Postorder Traversal of a Binary Tree
- Binary Tree Preorder Traversal in Java
- Finding the Second Minimum Value in a Binary Tree
- Reversing a Binary Tree in Java
- Check if Binary Tree is a Binary Search Tree
- Unit 3: Introduction to Dynamic Programming with Java
- Efficient Factorial Calculation Using Dynamic Programming
- Climbing Stairs Problem Using Dynamic Programming
- Minimum Steps to Transform 0 to N Using Dynamic Programming
- Coin Change Problem
- Minimal Number of Perfect Squares
- Unit 4: Graph Algorithms Implementation
- Shortest Path in a Network of Cities using BFS
- Find All Vertices Within a Given Distance
- Shortest Path Calculation Using BFS
- Shortest Path in Matrix using BFS
- Knight's Minimum Moves on a Chessboard
- Unit 5: Advanced Recursion Techniques in Java
- Generating Distinct Permutations Using Recursion and Backtracking
- Generating All Combinations of a String with Recursion in Java
- Generating Balanced Parentheses
- Letter Case Permutations
- Advanced Recursion: Word Combination Generator