This repo is my personal implementation of data structures and algorithms based on princeton Algorithms 4th Edition.
I really in to this online mooc since I knew it when I was in Taiwan. Thanks to Coursera, I can enjoy this fantastic algorithms lessons online without any payment. I spent lots of time on it during the year 2019.
Before I started this course, someone else recommended it to me, and he told me that:"If you want to deeply understand every popular algorithm, you better truly implement them yourself." He was the first one which I recognized "dashen", a god-level player in computer science area.
So, besides only followed the course online, I implemented these important algorithms by java language here.
Most of my algorithms are based onPrinceton Algorithms version
, but there may be some modification due to many reasons. For example below:
The most difficulty part among the content is the chapters regarding NFA and DFA for me, actually, even today I cannot fully understand its meaning, but it still helps me improve understand the concept and nature of the Dynamic programming. Furthermore,for KMP algorithm, I picked another popular implementation but much concise version.
And I keep both Chinese version and English PDF version of its textbook, took it from my motherland, China to the island where my university located, Taiwan, and finally, I took it to US right now. This red wrapped book is always with me.
If you think the best way to learn algorithm is to pass some OJ(online-judgement, like leetcode) problems, that is probably not a good way in my opinion, OJ is just kind of exercise, before this, I highly recommend above course and book to you. I promise, you cannot find any other better algorithms lessons all over the world.