- On each day, create a new branch of this repository with the date
- e.g.,
11-22-2018
- e.g.,
- Create a JS folder with the same date name
- e.g.,
11-22-2018/
- e.g.,
- Follow the instructions below in that folder
- Timebox this to 1 hour
- Create a PR from that branch to master
Before You Start ... complete the daily warm-up
The goal of this set of drills is to create muscle memory in the core operations that allow you to inspect the data in each data structure. Most DS&A interview questions begin with your having this basic tool at your disposal, with the "real challenge" being which data structure is the best choice, and what evaluations are being made as you traverse and iterate.
You may use (copy/paste) existing data structure implementation to setup tasks and put data into them. This exercise is solely to practice iteration and traversals
For each structure below, create a new file called practice-[ds].js
and require the appropriate data structure implementation as needed. Then, code out each of the following requirements by hand.
- Process a Queue and a Stack in the correct order
practice-stack.js
,practice-queue.js
- Iterate a linked list, printing out the values
practice-linked-list.js
- Traverse a Binary Tree, printing out the values as you visit each node.
practice-binary-tree.js
- Breath First
- Depth First: Pre-Order
- Depth First: In-Order
- Depth First: Post-Order
- Traverse a Graph, printing out the value on each vertex as you visit
practice-graph.js
- Breadth First
- Depth First
- Write QuickSort, MergeSort, InsertionSort functions for an array
practice-sorting.js