cse 3101 - design & analysis of algorithms - york university · cse 3101 - design &...

2
CSE 3101 - Design & Analysis of Algorithms Summer 2005 Instructor: Periklis A. Papakonstantinou ([email protected]) Textbook and references We use the following text: Introduction to Algorithms (2nd edition), by Cormen, Leiserson, Rivest and Stein, MIT Press. Text’s website: http://mitpress.mit.edu/algorithms/. If you have access to the first edition of the book (by Cormen, Leiserson and Rivest) then it is totally fine (we only make use of the material contained in both). Apart from the above text and the notes posted in the handouts no other text or set of notes is required for this course. Please note that using any other source apart from the recommended texts (see below) requires you to contact the instructor beforehand. Related textbooks I’ll try not to overwhelm you with too many references. If you want to focus more on the ideas (rather on the technical analysis part - essential to this course) then I would also recommend the following (much more elementary) texts: Algorithmics: The Spirit of Computing (2nd Edition), by D. Harel, Pearson Education. Excel- lent introductory book. Not focused on analysis but without loosing (much of) mathematical clarity. This book is very readable. Algorithms, by R. Sedgewick, Addison-Wesley, 1988. This is an elementary book which doesn’t go into rigorous analysis. It has lots of examples and covers many topics. Sedgewick has also published revisited versions of this book, coming under the titles "Algorithms in C", "Algorithms in C++", "Algorithms in Java". Despite the titles the books focus on algorithms and not on the primitives of the programming languages. The book also covers topics from data-structures (not covered in this course). We review the basic material needed from discrete math. You may also wish to check the following (excellent) texts. I would strongly recommend especially Liu’s book: Introduction to Combinatorial Mathematics, by C.L. Liu, Mcgraw-Hill. Concrete Mathematics: A Foundation for Computer Science (2nd Edition), by R.L. Gra- ham, D.E. Knuth, O. Patashnik, Addison-Wesley. A more advanced (regarding mathematical analysis) text is the following. This book is more restricted than our syllabus. 1

Upload: buikiet

Post on 17-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

CSE 3101 - Design & Analysis of Algorithms

Summer 2005

Instructor: Periklis A. Papakonstantinou ([email protected])

Textbook and references

We use the following text:

• Introduction to Algorithms (2nd edition), by Cormen, Leiserson, Rivest and Stein, MIT Press.Text’s website: http://mitpress.mit.edu/algorithms/.

If you have access to the first edition of the book (by Cormen, Leiserson and Rivest) then it is totally fine(we only make use of the material contained in both).

Apart from the above text and the notes posted in the handouts no other text or set of notes is required forthis course. Please note that using any other source apart from the recommended texts (see below) requiresyou to contact the instructor beforehand.

Related textbooks

I’ll try not to overwhelm you with too many references.

If you want to focus more on the ideas (rather on the technical analysis part - essential to this course) thenI would also recommend the following (much more elementary) texts:

• Algorithmics: The Spirit of Computing (2nd Edition), by D. Harel, Pearson Education. Excel-lent introductory book. Not focused on analysis but without loosing (much of) mathematical clarity.This book is very readable.

• Algorithms, by R. Sedgewick, Addison-Wesley, 1988. This is an elementary book which doesn’t gointo rigorous analysis. It has lots of examples and covers many topics. Sedgewick has also publishedrevisited versions of this book, coming under the titles "Algorithms in C", "Algorithms in C++","Algorithms in Java". Despite the titles the books focus on algorithms and not on the primitives ofthe programming languages. The book also covers topics from data-structures (not covered in thiscourse).

We review the basic material needed from discrete math. You may also wish to check the following (excellent)texts. I would strongly recommend especially Liu’s book:

• Introduction to Combinatorial Mathematics, by C.L. Liu, Mcgraw-Hill.

• Concrete Mathematics: A Foundation for Computer Science (2nd Edition), by R.L. Gra-ham, D.E. Knuth, O. Patashnik, Addison-Wesley.

A more advanced (regarding mathematical analysis) text is the following. This book is more restricted thanour syllabus.

1

• The Design and Analysis of Computer Algorithms, by A.V. Aho, J. E. Hopcroft, J.D. Ullman,Addison Wesley.

Here are two more classics. Though, the style and approach seems not to be that contemporary.

• The Art of Computer Programming (3 volumes), by D.E. Knuth, Addison-Wesley.

• Data Structures and Algorithms (3 volumes), by K. Melhorn, Springer-Verlag.

The following text is a very well-written introduction and in-depth (rigorous) treatment of shortest-pathsand network flows problems (we deal from time-to-time with these problems during the course).

• Network Flows: Theory, Algorithms, and Applications, by R.K. Ahuja, T.L. Magnanti, J.B.Orlin, Prentice Hall.

An introductory text to combinatorial optimization with emphasis on Linear Programming (not consideredin this course). Despite this it contains a very accessible introduction to connections of Matroids and greedyalgorithm (chapter 12).

• Combinatorial Optimization : Algorithms and Complexity, by C.H. Papadimitriou and K.Steiglitz, Dover Publications.

We skim over intractable problems. To improve your understanding you may wish to check the following.

• Introduction to the theory of computation, by M. Sipser, PWS Publishing. Introductory andvery readable text in complexity and computability. Relevant chapters: 3 & 7.

• Computers and Intractability: A Guide to the Theory of NP-Completeness, by M.R. Gareyand D.D. Johnson, W.H. Freeman & Co.. This is a classical text in NP-completeness. It follows a verynice systematic approach in proving NP-hardness results and also contains a (although a bit outdated)list of NP-complete problems.

2