Additional Material for Data Structures and Algorithms
Here we have some links to third-party material concerning data
structures and algorithms, as well as to the homepages of the
literature useful on the course.
1. Literature
T-106.250
The course book on the T-106.250 course is
T.H. Cormen,
C.E. Leiserson, R.L. Rivest C. Stein: Introduction to
Algorithms (Second edition)
This is a quite thorough handbook and introduction to most common
data structures and algorithms, and therefore a worthy addition
to the home library of every computer science student. Furthermore,
the same book is used on the T-106.410 Design and Analysis of Algorithms
course. The book doesn't use any existing programming language, but instead
applies a speudolanguage that closely resembles several real programming
languages. The book has quite a lot of algoritm analysis.
The first edition of the book can also be used. The differences between
the editions are mostly cosmetic.
T-106.253
The course book on the T-106.253 course is M.A. Weiss:
Data Structures and Algorithm Analysis in Java.
This book isn't quite as extensive as Introduction to algorithms, but
still covers the contents of the course. The book discusses both
the implementation of algorithms, and their analysis, and all examples
are in the Java language. There is also versions that use C and C++.
These can also be used o nthe course.
Supplementary material
-
T.H. Cormen,
C.E. Leiserson, R.L. Rivest: Introduction to Algorithms.
- Excellent supplementary reading for students of the T-106.253 course.
- Anany Levitin:
The Design & Analysis of Algorithms.
- This book approaches the area from a different point of view,
similar to what is used on the Design and Analysis of Algorithms course.
The book does, however, cover the most importact aspects of this course,
and is programming language independent.
- S. Sahni: Data
Structures, Algorithms, and Applications In Java
-
A bit less extensive than the required ourse books, and approaches the
topic from the point of view of one programming language and therefore
is more concerned with implementation than analysis. This book also
gives several examples of applications where particular algorithms are
required.
-
W.J. Collins: Data Structures and the Java Collections
Framework
-
The point of view of this book is from implementation of Java application libraries.
It can be useful to those who either are already familiar with object-oriented programming
and wish to familiarize themselves with data structures and algorithms or those, who
are already familiar with data structures and algorithms and wish to learn how to
implement them to a Java library. We do not recommend this book to those who
are unfamiliar with both topics. There is relatively little algorithm analysis in
this book.
2. Web material
There are several good pages that discuss data structures and algorithms,
out there.