This is a collection of algorithms for sorting and searching. Descriptions are brief and intuitive, with just enough theory thrown in.
The first section introduces basic data structures (array and linked list) and timing notation. Readers will be shown the strength and weakness of each choice of data structures.
The next section presents several sorting algorithms. This is followed by techniques for implementing dictionaries, structures that allow efficient search, insert, and delete operations. There exists some algorithms that do all the three operations efficiently.
The last section illustrates algorithms that sort data and implement dictionaries for very large files.
