# Data structures and algorithms

## Lecture slides

- Intro to C
- ADT, Recursion
- Recursion
- Recursion, Analysis of algorithms
- Asymptotic notation
- Recurrence relation
- Merge sort and quick sort
- Pointers
- Dynamic arrays
- Linked list
- Linked list, stack, queue
- Trees, BST
- BST, AVL trees
- AVL trees
- Heap
- Priority queue, Tries, Graphs
- Graphs
- BFS
- DFS, Topological sort
- Topological sort, Bipartite graph, SCC
- SCC, Shortest path
- Shortest path (Dijkstra's algorithm), MST
- MST (Kruskal's algorithm), Disjoint set union-find algorithm
- MST (Prim's algorithm), Hash table
- Hash table, Decision tree
- Huffman Encoding, Decision tree

## Assignments

## Homeworks

## Feedback

Feedback