The University of Western Australia
School of Computer Science and Software Engineering

School of Computer Science and Software Engineering

CITS2200 Data Structures and Algorithms

Lectures: This unit consists of 24 lectures covering common data structures, algorithms that use these data structures and techniques to analyse the performance of the data structures. Recordings of lectures may be available through the lecture capture system, but attendance at lectures is recommended.The lectures will be held at the Wilsmore Lecture Theatre [G108]. The lecture notes will be updated as the unit progresses, but complete copies of the Data Structures Notes and Algorithms Notes from previous semesters are available.

Workshops A workshop class will be held every week in the Wilsmore Lecture Theatre on Thursdays at 4pm (starting from the second week). Students are expected to work through the relevant tutorial sheet prior to the workshop. The Tutorials are not assessed but are strongly indicative of the competancies demanded by the exam and midsemester test. In some instances the workshops and lectures will be interchanged.

Laboratories There will be weekly laboratories that students are expected to work through. These may be done independently in your own time or at the scheduled laboratory if you require guidance. These laboratories will be assessed by an automated marker and contribute 20% of your final mark. The labs will start on Tuesday, March 3.

Schedule The table below contains links to all required course material. These may be updated as the semester progresses.

Week BeginningLecture
Tue 3-4pm; Wlsmore LT;
Thu 3-4pm; Wilsmore LT;
Thu 4-5pm; Wilsmore LT
February 24 Intro to Data Structures Intro to Algorithms 0 Getting Started
March 2 Data Abstraction Queues Java Primer II 1 Sorting
March 9 Lists Complexity Deques 2 Stacks
March 16 Asymptotic Analysis Amortised Analysis stacks 3 Queues
March 23 Iterators Trees Tree Representations Linked dequeues 4 Lists
March 30 Trees and Traversals Priority Queues lists 5 Binary Tree
April 6 Mid Semester Test (April 6, 3 pm, venues to be announced) Minimum Spanning Trees 6 Tree Search
April 13
Midsemester break
April 20 Shortest Path Algorithms Shortest Path Algorithms graph algorithms 7 Priority Queues
April 27 Maps Sets and Tables Project Workshop 8 Priority First Search
May 4 Search Trees Hashmaps Project Workshop Project Lab
May 11 Dynamic Programming Data Compression Revision and Some Solutions Project
May 18 Revision Exam preparation

Laboratory Files CITS2200 package, Documentation

Mid Semester Test questions (2015)

Solutions: 1. (C); 2. (D); 3. (A); 4. (A); 5. (D); 6. (C); 7. (C); 8. (D); 9. (B); 10. (B)

    MidSemTest Q # 3 solution

    MidSemTest Q # 10 solution

Mid Semester Test (2016)

Solutions: 1. (D); 2.(C); 3. (A); 4. (B); 5. (C); 6. (D); 7. (A); 8. (C); 9. (C); 10. (D);

Midsem test 2017

Solutions: 1. (D); 2. (C); 3. (A); 4. (B); 5. (B); 6. (C); 7. (C); 8. (D); 9. (C); 10. (B)

Midsem test 2018

Solutions: 1. (C); 2. (B); 3. (C); 4. (D); 5. (B); 6. (B); 7. (B); 8. (D); 9. (D); 10. (B)

Midsem test 2019

Project for 2019

Project 2019 and example outputfrom this graph Another graph with a Hamiltonian path

Final Exam paper 2016

Final Exam paper 2017

Final Exam paper 2018

This Page