ABSTRACT

The time has come to introduce the most powerful tool we use in analysis of algorithms: generating functions (GFs). They provide a natural and elegant way to deal with sequences of numbers by associating a function (of a continuous variable) with a sequence. The method of generating functions is naturally embraced by integral representations and formal Laurent series. The correspondence between sequences and GFs is so useful because, in addition to the uniqueness property, it turns out that many simple operations on sequences are reflected by simple operations on the corresponding generating functions. There are many ways to assign a function of a continuous variable to a sequence of numbers. The variables of our GFs are referred to as indeterminate, or formal variables, but there is much to gain from viewing them as numbers, which may be complex numbers.