# Data Structures and Algorithms in JavaScript

6

Learn Data Structures and Algorithms in JavaScript

### Lesson 1 - Binary Search and Linked Lists

- Linear and binary search
- Complexity and Big O notation
- Linked lists using ES6 classes

### Lesson 2 - Binary Trees and Traversals

- Constructing binary trees & BSTs
- Traversals & common operations
- Balanced trees & optimization

### Lesson 3 - Sorting and Divide & Conquer

- Bubble sort and Insertion Sort
- Merge sort using Divide & Conquer
- Quicksort and average complexity

### Lesson 4 - Dynamic Programming and Backtracking

- Recursion and memoization
- Subsequence and knapsack
- Backtracking and pruning

### Lesson 5 - Graph Traversals and Shortest Paths

- Graphs, trees & adjacency lists
- Breadth-first & depth-first search
- Shortest paths & directed graphs

### Lesson 6 - Coding Challenge Case Studies

- Picking interesting coding problems
- Solving problems step-by-step
- Documenting & presenting solutions