To understand the meaning and importance of algorithms.
Course content
A formal procedure for solving a problem is called an
``algorithm'' and a way of storing data in a computer is called a
data structure. There may be a number of combinations of algorithms
and data structures for a problem, in general. It is important to
evaluate them by computation time and space requirement to choose
the best combination. It is not sufficient to understand
conventional algorithms, but it is more meaningful to master how to
design algorithms. In this lecture, a general but basic scheme for
algorithm design through validation of correctness of algorithms and
investigation of improvement of algorithm efficiency is explained.
References
Introduction to Algorithms,
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and
Clifford Stein, MIT Press, 2009.
First Course in Algorithms through Puzzles (Tentative),
Ryuhei Uehara, in preparation, 2018.
(This book is now under consideration for publish.
Please use this part of copy in your personal use, and do not distribute on the net.)