A study of fundamental data structures and their use in the efficient implementation of algorithms. Topics include abstract data types, lists, stacks, queues, trees and graphs. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit "5"), LE/EECS 1030 3.00 or LE/EECS 2030 3.00, LE/EECS 1028 3.00 OR SC/MATH 1028 3.00 or LE/EECS 1019 3.00 or SC/MATH 1019 3.00. Previously offered as: LE/CSE 2011 3.00.
The course discusses the fundamental data structures commonly used in the design of algorithms. Abstract operations on data structures are specified using pre and post conditions and/or system invariants. Trade-offs between a number of different implementations of each abstract data types (ADT) are analyzed. Each algorithm operating on data structures is proved correct using loop invariants or induction. Both formal and informal proofs are introduced though most of the reasoning is done informally. Data structures are coded and unit tested in an object-oriented language. Selecting the appropriate ADT and a suitable implementation depending on the application is covered. Prerequisites: EECS1019 or EECS1028, EECS1030 or 2030, MATHS1090
Date of submission: 2013-13-03
Tips: you can drag and drop the boxes to clone them to different sections or groups within a prerequisite equation.
Prerequisite Equation
Edit the prerequisite equation to this course:
note: adding data in this section will override data in the Prerequisite List.
+ add prereq equation
Prerequisite List(Overridden by Prerequisite Equation)
Edit the list of prerequisites to this course:
note: data in this section will be override by the Prerequisite Equation if it exists.
+ add new course
Exclusion List
Edit the list of course cerdit exclusions to this course:
+ add new course
Your name (optional):
Any additional comment (optional):
Thank you for your edit suggestion!
Our staff will review and approve it soon.
You can close this page now.
There might have been an error with the server or your input.
Please check your entry and/or try again later.