NP-is-not-that-Hard
CSDN Blog: https://blog.csdn.net/Yu_Cblog
Why I Wanted to Write This Blog
This is truly paying the price for passion. This is my first year studying in the US, and CSCI570 is a required course. This course is really difficult. From the initial Matching Theory to dynamic programming, network flow problems, and so on, I've summarized my notes and the code I used while learning in this repository. At the end of the semester, we started learning Tractability & Computational Compleity Classes, so we began to encounter concepts such as P/NP/NP-complete/NP-hard.
I'd actually encountered and heard of these concepts many years ago, but I never truly understood them before. I just thought they seemed sophisticated and high-class. After completing the CSCI570 course, I truly realized that the algorithms I'd learned over the previous 4-5 years were merely the tip of the iceberg in this field. Furthermore, this course has deepened my passion for algorithms.
Today, I'm starting this blog to record the NP-related content. I really learned a lot from CSCI570. During my undergraduate studies, or in some other courses, I didn't really care about forgetting what I learned. But with this course, I really don't want to forget this knowledge. I rarely rate a course highly unless I genuinely enjoy it and feel I've truly learned something (for example, undergraduate linear algebra/machine learning/all programming courses, I don't want to forget that knowledge either—of course, it's just a matter of not wanting to forget, and I still end up forgetting quite a bit).
Furthermore, since I've chosen to spend time writing this blog, I certainly don't want to do it carelessly. I genuinely want to record it, which is why I'm writing it. Therefore, I will reorganize it according to my own ideas.
HTML Version Link: Table of Contents
Chapter 2: Complexity Categories
Last updated