You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🔥 Among the <a href="https://github.com/topics/algorithms-and-data-structures" target="_blank">top DSA</a> repositories on GitHub
17
17
</div>
18
18
19
19
<br>
@@ -44,6 +44,9 @@ In short, this is a middle-to-high level algorithm book designed with cracking c
44
44
45
45
46
46
Besides trying to make the content easy to follow, here summarizes the uniqueness of this book: (1) it offers Python source code that is tailored to be simple so that it would be natural for you to use in interviews (2) all the exercises and examples are from Leetcode problems so that you get to practise online (3) Classical algorithms are explained with design principles. No algorithm is magic. (Check out [advanced graph algorithms](https://github.com/liyin2015/Hands-on-Algorithmic-Problem-Solving/blob/master/chapters_pdf/chapter_advanced_graph_algorithm.pdf) as an example) (4) problem patterns to help you tackle coding interview questions topic by topic.
47
+
48
+
<hr>
49
+
47
50
## How did I come up with this book?
48
51
Preparing for the coding interview is not easy! Cracking the coding interview? Nearly impossible for most of us! Luck does play a role in the outcome. So, let's just treat it as a learning process and have some fun!
49
52
@@ -52,13 +55,18 @@ Computer Science is really not just computer science. It is a combination of all
52
55
There are plenty of books out there focusing on either teaching algorithmic knowledge (*Introduction to Algorithms*, *Algorithmic Problem Solving*, etc) or introducing the interview process and solving interview problems(*Cracking the Coding Interview*, *Coding Interview Questions*, etc), but none of these books truly combine the two. This is a book designed to make up this role in the categorization. Principle, Pattern, and Leetcode Problems make up the core of this book.
53
56
54
57
This is **NOT** a book that provides hiring statistics for each company or gives the reader quick tricks in order to pass a few coding interviews. Its purpose is to show you the beauty of algorithmic problem solving in the hope that you will be more passionate and confident about software engineering; the interview questions just set up a playground where we strengthen what we learn.
58
+
59
+
<hr>
60
+
55
61
## For Readers
56
62
[The whole book](Easy-Book/main.pdf) is compiled as pdf.
57
63
58
64
For readers, you can read the book as a whole or read chapters selectively following the below links.
59
65
60
66
## Table of Contents
61
67
68
+
<hr>
69
+
62
70
### Warm Up: Abstract Data Structures and Tools
63
71
*[Abstract Data Structures](chapters_pdf/Abstract_Data_Structures.pdf)
64
72
* Discrete Programming
@@ -98,6 +106,8 @@ For readers, you can read the book as a whole or read chapters selectively follo
98
106
99
107
*Note: everything is still in progress, so use it with caution.*
100
108
109
+
<hr>
110
+
101
111
## Referring Books and Materials
102
112
103
113
* Skiena, Steven S. The algorithm design manual: Text. Vol. 1. Springer Science & Business Media, 1998.
* Graph Visualize with [graphviz](http://www.webgraphviz.com/). [Examples](https://graphs.grevian.org/example). [Tutorial to use Python](https://graphviz.readthedocs.io/en/stable/manual.html)
132
144
145
+
<hr>
146
+
133
147
## Mocking Interviews
134
148
Practice is important. Schedule some mocking interviews with [interviewing.io](https://interviewing.io/). If you cant manage to register, you can join us in [discord server](https://discord.gg/ZXnSag7fMP) and ask peers for practice interview.
135
149
150
+
<hr>
151
+
136
152
## Community
137
153
**Join me on discord server: https://discord.gg/ZXnSag7fMP, for a supportive community**
138
154
155
+
<hr>
156
+
139
157
## Feedback
140
158
If you have ideas to improve the book, about formatting, more contents, or correct the errors, do not hesitate to let me know.
0 commit comments