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
- Lesson 1: Linked List Operations in JavaScript
- Determining if a Linked List is a Palindrome
- Swap Nodes in Linked List by Indices
- Remove Duplicates from Unsorted Linked List
- Rotate Linked List Right by k Places
- Detect Cycle in a Linked List
- Lesson 2: Binary Tree Traversals in JavaScript
- Postorder Traversal of a Binary Tree
- Preorder Traversal of Binary Tree
- Second Smallest Node in Binary Tree
- Reverse a Binary Tree in JavaScript
- Binary Search Tree Verification
- Lesson 3: Introduction to Dynamic Programming
- Factorial Calculation Using Dynamic Programming
- Dynamic Programming Climbing Stairs Task
- Minimum Steps to Transform Number using Dynamic Programming
- Coin Change Problem Using Dynamic Programming
- Minimal Number of Perfect Squares
- Lesson 4: Graph Algorithms Implementation using Breadth-First Search (BFS) in JavaScript
- Breadth-First Search for Shortest Path in City Network
- Find Vertices Within Given Distance in an Undirected Graph
- Shortest Route Calculation Using Breadth-First Search Algorithm
- Shortest Path in a Matrix Using BFS
- Minimum Knight Moves on a Chessboard
- Lesson 5: Advanced Recursion Techniques
- Generating Unique Permutations of an Array
- All Character Combinations in a String
- Generating Letter Case Combinations in a String
- Advanced Recursion Word Combinations