Skip to content

Latest commit

 

History

History
196 lines (158 loc) · 25 KB

README.md

File metadata and controls

196 lines (158 loc) · 25 KB

Pursuit Core Data Structures and Algorithms Curriculum

This repo contains lessons and practice problems for our Data Structures and Algorithms Curriculum.

Core Lessons

Topic Lesson Lab
Introduction to Whiteboarding All Stacks n/a
Big-O Notation JavaScript / Swift n/a
Stacks JavaScript / Swift Swift
Queues JavaScript / Swift Swift / JavaScript
Linked List JavaScript / Swift Swift
Hash Tables JavaScript / Swift Swift
Recursion JavaScript / Swift Swift
Binary Search JavaScript / Swift Swift
Bubble Sort: Intro to Sorting* JavaScript / Swift Swift
Insertion Sort JavaScript / Swift Swift
Quick Sort JavaScript / Swift Swift
Merge Sort JavaScript / Swift Swift
Trees JavaScript / Swift Swift

Recommended Problems

Standard Problems
DSA-1-b: Linked Lists
DSA-1-d: Hash Tables
DSA-1-e: Stacks
DSA-1-f: Queues
DSA-1-g: Trees
DSA-3: Recursion
DSA-4: Sorting Algorithms
DSA-5-b: Binary Search

Advanced Topics

Topic Lesson Lab Video
Advanced Linked Lists Swift tbd
Advanced Sorting Swift tbd tbd
Advanced Trees Swift Swift
Graphs Swift tbd
Dynamic Programming and Memoization Swift Swift
Bits Swift tbd
Math Swift tbd tbd
Threading and Memory Management tbd tbd tbd
Databases and SQL tbd tbd tbd
Object Oriented Design tbd tbd tbd
System Design and Scalability tbd tbd tbd

JavaScript and iOS Coding Challenges

DSA Timed Coding Challenges

Mock Interviews

Additional Practice Problems

This section contains additional problems separated by domain. If you see an error or have a contribution to add, please open a Pull Request against this repo.

Array Problems

Problem Difficulty Tags Solution
Diagonal Sum Easy [Arrays, Matrices, Integers] Link
Find Repeats Easy [Arrays, Integers, Duplicates] Link
Sum of first five even numbers Easy [Arrays, Integers] Link
Greatest Row or Column in Matrix Easy [Arrays, Matrices, Integers] Link
Largest Product of Two Easy [Arrays, Products] Link
Matrix Sum Without Corners Easy [Arrays, Matrices, Integers] Link
Pair Sum Easy [Arrays, Integers] Link
Product of All Except Index Easy [Arrays, Products] Link
Remove Duplicates Easy [Arrays, Duplicates] Link
Second Largest Easy [Arrays, Integers] Link
List Min Abs Diff Easy [Arrays, Integers] Link
Merge Sorted Arrays Medium [Arrays] Link
Shift Zeros Medium [Arrays, Duplicates] Link
Product of Three Medium [Arrays, Products, Integers] Link
Merge Overlapping Intervals Hard+ [Arrays, Intervals] Link
Keypad Hard [Arrays] Link
N or More Occurrences Easy [Arrays] Link
Binary Search / Git Bisect Medium [Arrays] Link

Integer Problems

Problem Difficulty Tags Solution
Avoid Fives Easy [Integers] Link
Add Digits Medium [Integers] Link
Backwards Primes Medium [Integers, Primes] Link
Happy Numbers Medium [Integers, Primes] Link

Linked List Problems

Problem Difficulty Tags Solution
Swap Nodes Medium [Linked Lists] Link
Traverse / Pretty Print Easy [Linked Lists] Link

Stack Problems

Problem Difficulty Tags Solution
Largest Element Easy [Stacks] Link
Valid Parentheses Medium [Strings, Stacks] Link
Two-Lane Parking Management System Medium [Stacks, Objects] Link

Queue Problems

Problem Difficulty Tags Solution
Stack Queue Medium [Queues, Stacks] Link
Queue Range Easy [Queues] Link

String Problems

Problem Difficulty Tags Solution
Palindrome Easy [Strings] Link
Pangram Easy [Strings] Link
Remove Vowels Easy [Strings] Link
Reverse String Easy [Strings] Link
Pattern Match Easy [Arrays, Strings, Dictionaries] Link
Sequence Count in String Medium [Arrays, Integers] Link

Hash Table Problems

Problem Difficulty Tags Solution
Keyboard Row Easy [Hash Tables] Link
Unique Occurrences Medium [Hash Tables] Link
Longest Substring Without Repeating Characters Hard [Hash Tables] Link

Logic Problems

Problem Difficulty Tags Solution
Jugs Of Water Easy [Logic] Link
Nine Coins Easy [Logic] Link
Trucks Medium [Logic] Link
Troll Medium [Logic] Link
Rope Burning Hard [Logic] Link
Blue Eyed Island Hard [Logic] Link

Recursion Problems

Problem Difficulty Tags Solution
Factorial Medium [Recursion] Link
Recursive Sum Easy [Recursion] Link
Reverse Sentence Medium [Recursion, Strings] Link
Pascal's Triangle Medium [Recursion] Link

Tree Problems

Problem Difficulty Tags Solution
Print Binary Tree With a Stack Medium [Tree] Link
Print Binary Tree With Recursion Medium [Tree,Recursion] Link
Sum Values in Tree Medium [Tree] Link
Max Value in Tree Hard [Tree] Link
Tree Height (or Depth) Hard [Tree] Link
Is Tree Balanced Hard [Tree] Link
Tree Equality Hard+ [Tree] Link

Algorithms visualized

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html