Outco: Data Structures and Algorithms
Prepare for technical coding interviews with a deep dive into data structures & algorithms.
This data structures and algorithms course helps prepare software engineers for technical interviews. Learn about the building blocks used to develop efficient algorithms and build various fundamental data structures from scratch to understand how they work. Understand how to identify solutions that do not scale and develop techniques to create algorithms that do scale.
Structure
1. Video lecture topics
2. Problem Sets
- [Easy] Target Practice : conducted in-class
- [Medium] Homework Problems : provided in Github repo
- [Hard] Extra Credit Homework Problems : provided in Github repo
3. Solutions
Solutions are provided in the following languages in code and video format. Coded solutions are provided in a shared folder. Please contact support for access.
[Code] Target Practice Code : Javascript, Python, Ruby, Java
[Code] Homework Code : Javascript, Python, Ruby, Java
[Code] Extra Credit Code : Javascript, Python, Ruby, Java
[Video] Homework Video : Javascript
4. Resource List
A collection of curated online resources to continue to learn more about each topic.
Topic Categories
- Time/Space Complexity
- Recursion: Various Algorithm Patterns
- Data Structures: Linked List, Stack, Queue, Arrays, Binary Trees, Binary Search Trees, Heaps, Hash Tables, Graph
- Sorting Algorithms: Basic Comparison Sorts, Recursive Comparison Sorts, Distribution Sorts
- Search & Traversal : Binary Search, Tree Traversal, Graph Traversal
- Dynamic Programming: Memoization and Tabulation
Language
The course is language agnostic, however examples are done in a mixture of JavaScript, Python, and Ruby. Target Practice and Homework along with tests are available for JavaScript, Python, Ruby, and Java.
Prerequisites
Proficient in either JavaScript, Python, Ruby, or Java.
Be able to follow JavaScript code.
Past exposure to data structures.
Basic algorithm problem solving skills.
Recommended Preparation Material
Basic Algorithms
Khan Academy - Algorithms Course
Leetcode