So what is this course?
It's an intermediate level survey course on algorithms.
We're going to concentrate on programming and
problem solving in the context of real applications.
And our focus is going to be on two things, algorithms which are methods for
solving problems, and data structures which store the information
associated with the problem and go hands and hands with algorithms.
[COUGH] These are the basic topics that we'll cover in part one and
part two of the course.
The first part is data types sorting and searching.
We'll consider a number of data structures and algorithms that are basic
to all the methods we consider including stacks, queues, bags, and priority queues.
Then, we'll consider classic algorithms for sorting, putting things in order.
That's quick sort, merge sort, heat sort, and rated sorts.
And we'll consider classic methods for searching, including binary search trees,
red-black binary search trees, and hash tables.
The second part of the course is for more advanced algorithms,
including graph algorithms, classic graph searching algorithms,
minimum spanning tree, and algorithms.
Algorithms for processing strings including regular expressions and
data compression.
And then, some advanced algorithms that
make use of the basic algorithms that we developed earlier in the course.