A study of the design, analysis, and application of data structures and algorithms. Trees, graphs, heaps, hash tables, and other structures will be considered. Several mathematical techniques (e.g., complexity analysis, recurrence relations, and induction) will be studied and applied to understanding these algorithms and structures. The impact of modern computer hardware, especially caches and parallelism on the design and performance of data structures and algorithms will be considered. Prerequisite: CSC 241; MAS 111 or MAS 161. 3 credits. |