This notebook is based on an algorithms course I took in 2012 at the Hebrew
University of Jerusalem, Israel. The material is based on my notes from the
lectures of [Prof. Alex Samorodnitsky][1], as well as some entries in Wikipedia
and more.
I wrote this notebook because I find the subject interesting, and it helped me
prepare for my exam. Hopefully it will help whoever is reading it as well.
Needless to say, I take no responsibility for the accuracy, completeness and
correctness of what is written here. I'm not, in any way, an authority on
algorithms, so take it as it is. That being said, I still wish this book to be
as helpful as possible, so if you find any mistakes or inaccuracies, please
send me an email to *EyalArubas at gmail*.
Also, you are more than welcomed to just tell me what you think of this book.
I like the feedback.
The structure of the book is such that each chapter will begin with several
examples of relevant problems. These examples will demonstrate a situation in
which we need to reach a solution by solving a problem of a certain type. Then
in the rest of the chapter we will discuss methods for solving this type of
problems, as well as many examples. Each chapter is independent, so you can
just jump directly to a subject of your choice.
I encourage you to share this book and pass it along, if you find it useful of
course.
You can download a PDF or the latex code from [this repository][2].
[1]:http://www.cs.huji.ac.il/~salex/
[2]:https://github.com/EyalAr/Algorithms-Book