Data Structures (Advanced) (INFO1905)
UNIT OF STUDY
The unit will teach some powerful ideas that are central to quality software: data abstraction and recursion. It will also show how one can analyse the scalability of algorithms using mathematical tools of asymptotic notation. Contents include: both external "interface" view, and internal "implementation" details, for commonly used data structures, including lists, stacks, queues, priority queues, search trees, hash tables, and graphs; asymptotic analysis of algorithm scalability, including use of recurrence relations to analyse recursive code. This unit covers the way information is represented in each structure, algorithms for manipulating the structure, and analysis of asymptotic complexity of the operations. Outcomes include: ability to write code that recursively performs an operation on a data structure; experience designing an algorithmic solution to a problem using appropriate data structures, coding the solution, and analysing its complexity.
Further unit of study information
Lecture 2 hrs/week; Laboratory 2 hrs/week.
Through semester assessment (40%) Final Exam (60%)
Faculty/department permission required?
Unit of study rules
Prerequisites and assumed knowledge
Distinction-level performance in INFO1103 or INFO1903
To enter this unit, students need to possess programming knowledge skills at the level of INFO1103 or INFO1903. Expected knowledge includes use of the Java collections APIs and recursion. Chapters 1, 2, 3 and 9 of the textbook provide review material on these topics. Students who have passed similar units at other universities should apply for special permission to enrol.
Study this unit outside a degree
If you wish to undertake one or more units of study (subjects) for your own interest but not towards a degree, you may enrol in single units as a non-award student.
If you are from another Australian tertiary institution you may be permitted to underake cross-institutional study in one or more units of study at the University of Sydney.