CMPS101: Algorithms and Abstract Data Types

Studies basic algorithms and their relationships to common abstract data types. Covers the notions of abstract data types and the distinction between an abstract data type and an implementation of that data type. The complexity analysis of common algorithms using asymptotic (big "O") notation is emphasized. Topics include sorting and searching techniques, basic graph algorithms, and algorithm design techniques. Abstract data types covered include priority queues, dictionaries, disjoint sets, heaps, balanced trees, and hashing. Familiarity with C, Java, and Unix is assumed. Prerequisite(s): course 12B or 13H; CMPE 16 or 16H; MATH 19B, 20B or 11B; and one course from the following: MATH 21, 22, 23A, AMS 10, or AMS 131.

5 credits

Year Fall Winter Spring Summer

While the information on this web site is usually the most up to date, in the event of a discrepancy please contact your adviser to confirm which information is correct.