Ebook Size : 12 MB
Download : Algorithms 4th Edition (PDF)
Online course. You can take our free Coursera MOOCs Algorithms, Part I and Algorithms, Part II. They include a full set of lecture videos and assessments.
The
objective of this book is to study a broad variety of important and
useful algorithms—methods for solving problems that are suited for
computer implementation. Algorithms go hand in hand with data
structures—schemes for organizing data that leave them amenable to
efficient processing by an algorithm. This chapter introduces the
basic tools that we need to study algorithms and data structures.
First,
we introduce our basic programming model. All of our programs are
implemented using a small subset of the Java programming language
plus a few of our own libraries for input/output and for statistical
calculations. Section 1.1 is a summary of language constructs,
features, and libraries that we use in this book. Next, we emphasize
data abstraction, where we define abstract data types (ADTs) in the
service of modular programming. In Section 1.2 we introduce the
process of implementing an ADT in Java, by specifying an applications
programming interface (API) and then using the Java class mechanism
to develop an implementation for use in client code.
As
important and useful examples, we next consider three fundamental
ADTs: the bag, the queue, and the stack. Section 1.3 describes APIs
and implementations of bags, queues, and stacks using arrays,
resizing arrays, and linked lists that serve as models and starting
points for algorithm implementations throughout the book. Performance
is a central consideration in the study of algorithms. Section 1.4
describes our approach to analyzing algorithm performance. The basis
of our approach is the scientific method: we develop hypotheses about
performance, create mathematical models, and run experiments to test
them, repeating the process as necessary.
No comments:
Post a Comment
What do you think about this book?