algoClass
algoClass copied to clipboard
Common data structures and algorithms
Exercises for Intro to Algorithms and Data Structures in JavaScript
Welcome to the exercises. This is where the magic happens!
Monday - June 13th
- Implement a stack data structure:
- https://github.com/kuychaco/algoClass/blob/master/data-structures/stack.js
- Note: only do the first exercise after you implement the stack
- Create a queue data structure:
- https://github.com/kuychaco/algoClass/blob/master/data-structures/queue.js
- Note: no need to attempt the last exercise. Come back to it after we cover breadth-first search :)
- Start off with some intro to recursion problems
- https://github.com/kuychaco/algoClass/blob/master/recursion/recursionIntro.js
- If you want a challenge, attempt some popular recursion interview questions:
- https://github.com/kuychaco/algoClass/tree/master/recursion
- Note: some of these will only click after we go through sorting, graphs & trees later this week.
Tuesday - June 14th
- Implement the elementary sorting algorithms (bubble, insertion, selection):
- https://github.com/kuychaco/algoClass/tree/master/sorting-algorithms
- Implement Mergesort
- https://github.com/kuychaco/algoClass/blob/master/sorting-algorithms/merge.js
- Implement Quicksort
- https://github.com/kuychaco/algoClass/blob/master/sorting-algorithms/quick.js
- [Bonus] Try out Heapsort
- https://github.com/kuychaco/algoClass/blob/master/sorting-algorithms/heap.js
###Wednesday - June 15th
- Implement a Linked List:
- https://github.com/kuychaco/algoClass/blob/master/data-structures/linkedList.js
- Create a tree data structure:
- https://github.com/kuychaco/algoClass/blob/master/data-structures/tree.js
- Note: Hold off on Depth First Search and Breadth First Search because we haven't covered that yet.
- This is a catch up day so use the rest of the afternoon to finish up exercises from previous days and review anything that was confusing.
Thursday - June 16th
- Binary Search Tree
- https://github.com/kuychaco/algoClass/blob/master/data-structures/binarySearchTree.js
- Binary Search Array
- https://github.com/kuychaco/algoClass/blob/master/searching-algorithms/binarySearchArray.js
Friday - June 17th
- Binary Search Tree (delete nodes)
- https://github.com/kuychaco/algoClass/blob/master/data-structures/binarySearchTree.js
- Implement a graph
- https://github.com/kuychaco/algoClass/blob/master/data-structures/graph.js
- DFS for graph
- https://github.com/kuychaco/algoClass/blob/master/data-structures/graph.js
- BFS for graph
- https://github.com/kuychaco/algoClass/blob/master/data-structures/graph.js
- [Bonus] BFS/DFS for tree
- https://github.com/kuychaco/algoClass/blob/master/data-structures/tree.js
Saturday - June 18th
- Create your own Hash Tables! Watch out for those collisions!
- https://github.com/kuychaco/algoClass/blob/master/data-structures/hashTable.js