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, Ryuhei Uehara, in printing, 2019.