Getting Deep into Complex Algorithms for Interviews with Java
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.
Lessons and practices
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
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
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
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
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
Interested in this course? Learn and practice with Cosmo!
Practice is how you turn knowledge into actual skills.