A
common person’s belief is that a computer can do anything. This is far from
truth. In reality, computer can perform only certain predefined instructions.
The formal representation of this model as a sequence of instructions is called
an algorithm, and coded algorithm, in a specific computer language is called a
program. Analysis of algorithms has been an area of research in computer
science; evolution of very high speed computers has not diluted the need for
the design of time-efficient algorithms.
Complexity
theory in computer science is a part of theory of computation dealing with the
resources required during computation to solve a given problem. The most common
resources are time (how many steps (time) does it take to solve a problem) and
space (how much memory does it take to solve a problem). It may be noted that
complexity theory differs from computability theory, which deals with whether a
problem can be solved or not through algorithms, regardless of the resources
required.
Analysis
of Algorithms is a field of computer science whose overall goal is understand
the complexity of algorithms. While an extremely large amount of research work
is devoted to the worst-case evaluations, the focus in these pages is methods
for average-case. One can easily grasp that the focus has shifted from computer
to computer programming and then to creation of an algorithm. This is algorithm
design, heart of problem solving.
Download from Google Drive
Download from Google Drive
Post a Comment