# CS170: Efficient Algorithms and Intractable Problems

## Descriptions

- Offered by: UC Berkeley
- Prerequisites: CS61B, CS70
- Programming Languages:  LaTeX
- Difficulty: 🌟🌟🌟
- Class Hour: 60 hours

This is Berkeley's algorithm design and analysis course. It focuses on the theoretical foundations and complexity analysis of algorithms, covering Divide-and-Conquer, Graph Algorithms, Shortest Paths, Spanning Trees, Greedy Algorithms, Dynamic programming, Union Finds, Linear Programming, Network Flows, NP-Completeness, Randomized Algorithms, Hashing, etc.

The textbook for this course is well written and very suitable as a reference book. In addition, this class has written assignments and is recommended to use LaTeX. You can take this opportunity to practice your LaTeX skills.

## Course Resources

- Course Website: <https://cs170.org/>
- Recordings: <https://www.youtube.com/playlist?list=PLnocShPlK-Ft-o7NInBDw18be86dNaxlT>
- Recordings: refer to the course website
- Assignments: refer to the course website

## Personal Resources

All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/UCB-CS170 - GitHub](https://github.com/PKUFlyingPig/UCB-CS170)
