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, backtracking and graph algorithms. Understanding these advanced topics will equip you with the tools needed to solve complex problems efficiently.
Getting Deep into Complex Algorithms for Interviews with Kotlin
via CodeSignal
Overview
Syllabus
- Unit 1: Linked List Operations
- Linked List Palindrome
- Swapping Linked List Nodes
- Removing Duplicates from a Linked List
- Rotate Linked List Right
- Linked List Cycle Detection
- Unit 2: Binary Tree Traversals
- Binary Tree Postorder Traversal
- Preorder Traversal of a Binary Tree
- Second Smallest Value in a Binary Tree
- Reverse a Binary Tree
- Validating a Binary Search Tree
- Unit 3: Introduction to Dynamic Programming
- Factorial with Dynamic Programming
- Climbing Stairs
- Minimum Steps to Reach a Number
- Ways to Make Change
- Summing Perfect Squares
- Unit 4: Graph BFS Implementation
- Shortest Distance in a Network
- Find Vertices Within Distance using BFS
- Minimum Strides with BFS
- Shortest Path in a Matrix
- Knight's Shortest Path on a Chessboard
- Unit 5: Advanced Recursion Techniques
- Lexicographical Unique Permutations
- Recursive String Permutations
- Generate Parentheses
- Letter Case Permutation
- Character Combinations Word Game