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.
Determining if a Linked List is a Palindrome or Not in Python
Swapping Nodes in a Singly Linked List at Given Indices
Removing Duplicates from an Unsorted Linked List
Rotating a Singly Linked List to the Right
Detecting a Cycle in a Linked List
Postorder Binary Tree Traversal
Implementing Preorder Traversal for a Binary Tree in Python
Finding the Second Smallest Node in a Binary Tree
Reversing a Binary Tree in Python
Binary Search Tree Verification
Calculating Factorials Using Dynamic Programming in Python
Climbing Stairs: Calculating the Number of Distinct Ways Using Dynamic Programming
Minimum Steps to Reach Target using Dynamic Programming
Dynamic Programming: Coin Change Problem
Perfect Squares Summation Minimal Count
Shortest Distance in a City Network Using BFS Algorithm
Finding Vertices Within a Given Distance in a Graph
Find the Shortest Route in a Game Using BFS Algorithm
Breadth-First Search for Shortest Path in Binary Matrix
Minimum Knight Moves on a Chessboard
Generating All Unique Combinations Using Backtracking
Generating All Combinations of String Characters Using Recursion
Generating all combinations of Parentheses
Generating Letter Case Combinations in a String
Generating String Combinations for a Word Game