EG 2342 Data Structures and Algorithms - 3 semester hours
This course provides an introduction to the design and analysis of computer data structures and algorithms, focusing in particular on techniques for achieving high performance software in computer systems. Students will learn the necessary mathematical background to carry out algorithm analysis, such as time and space complexity, worst-case and average-case analysis, tractability & intractability, and design techniques. It discusses recursion and recurrence relations, asymptotic notations, basic data structures, dynamic dictionaries, balanced trees, priority queues, and graphs. The specific data structures which will be discussed in class include linked lists, stack, heaps, self-organizing lists, binary search trees, hash tables, AVL trees, red-black trees, balanced trees, leftist trees, minimum spanning trees, and others. Prerequisite: EG1302 or EG1304, and MT3323.