My Notes from UW’s 332 class, bootcamp curriculum, and the book ()
- Data structures introduction
- TODO
- L1 intro to ADT, stacks, queue
- L2 algorithm analysis
- L3 algo analysis 2
- L4 algo analysis 3 (jan 10)
- L5 priority queues (jan 12)
- L6 priority queues and recurrences (jan 17)
- L7 dictionaries, BSTs (jan 19)
- checkpoint (notion)
- L8 AVL trees (jan 22)
- L9 AVL trees (jan 24)
- L10 B-trees
- L11 Hashing
- L12 Hashing (jan 29)
- Hashing starts roughly from 37
- L13a - Hashing continued (jan 31)
- L13b - Hashing 3 (feb 2)
- 15 Sorting algorithms
- L16-18 Graphs
- L19 Parallelism
- L20 Parallel Prefix
- L21 analysis
- L22 concurrency and locks
- L23 race conditions, deadlock
- L25 topological sort and minimum spanning trees
- L26 P & NP
ADT | Data Structures | Algorithms | Java |
---|---|---|---|
List | - ArrayList - LinkedList | Search - Linear search - Binary search Sort - Merge sort - Quick sort - Insertion sort | |
Queue | - Circular Array - LinkedList | - BFS (Queue) | |
Dequeue | - Doubly Linked List | ||
Stack | - DFS (Stack) - 하노이의 탑 → 연습 | ||
Priority Queue | - Binary Heap | - Dijkstra’s Algorithm (PQ) | |
Dictionary | - Binary Search Tree - AVL Tree (balanced BST) - B Trees (balanced BST) - Red Black Tree (balanced BST) - Tries - Hash Table | - HashMap (Java) - HashSet (Java) | |
Graph | - Adjacency List - Adjacency Matrix | - BFS (Queue) - DFS (Stack) - Dijkstra’s Algorithm (PQ) | |
Tree | - Binary tree - Binary Search Tree - AVL Tree (balanced BST) - B Trees (balanced BST) - Red Black Tree (balanced BST) - B Trees | - TreeSet (Java) - TreeMap (Java) | |
Set | - Red Black Tree (balanced BST) |
Resource Analysis
Algorithm Analysis is the entire field of studying algorithms.
Sorting Algorithms
-
Selection Sort
-
Insertion Sort
-
Heap Sort
-
Divide and Conquer
- Mergesort
- Quicksort
-
Linear Time sorting algorithms
- Bucket sort
- Radix sort