Welcome to Data Structures and Algorithms at Southwest University, Chinađź”—

Welcome to the Data Structures and Algorithms course for the 2022 Autumn semester, commencing Monday 24/10/2022. The schedule below will have links added to it as the course progresses, linking to:

Lecture readingsđź”—

Your understanding of the lecture material will be much greater if before each lecture, you read through the related textbook sections.

The textbook we use is:

(Other editions are also fine.)

The schedule below lists, for each topic, the related textbook sections you should review.

Homeworkđź”—

Problem sheets will be used during class. The problem sheets will be uploaded during each of the lecture weeks. Click on the links in the schedule to download the problem sheets.

There is also lab material for you to work through using your computer, which you can find here.


Announcementsđź”—


Schedule and links to materialđź”—

This table will be updated as the course progresses.

Week Day Topics Materials Times (GMT+8 Perth/Beijing time)
week 1:
Intro & arrays

Monday
24/10/2022

  • Introduction to algorithms and data structure
  • Abstract Data Types
Textbook readings:

Weiss ch 5 “algorithm analysis”

 
Lecture slides:
week1-lecture-slides.zip

 
Problem sheet:
week1-wed-problems.docx
week1-problems-solutions.docx

 
Source code:
week1-code.zip

 
Lecture recordings:
Full Lecture (mp4)      

  • 08:00 am-08:45 am
  • 08:55 am-09:40 am
  • 10:00 am-10:45 pm

Wednesday
26/10/2022

  • Java interfaces and generic types
  • Implementing stacks and queues with arrays
Textbook readings:
  • Weiss ch 17 “linked lists”
  • Weiss ch 6.6 “stacks and queues”
  • Weiss ch 5 “algorithm analysis”

 
Lecture recordings:
Part 1 (mp4)   Part 2 (mp4)   Part 3 (mp4)  

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am
week 2:
Complexity, sorting and searching

Monday
31/10/2022

  • finish Linked lists
  • Big O notation
  • Java interfaces
  • Sorting and searching algorithms

Textbook readings:

  • Weiss ch 5 “algorithm analysis”
  • Wiess ch 8.5-8.6 “sorting algorithms”
  • Weiss ch 7.1-7.5 “recursion”

 
Lecture slides:
week2-lecture-slides.zip

 
Source code:
week2-code.zip

 
Problem sheet:
week2-problems.docx
week2-problems-solutions.docx

 
Lecture recordings:
Full Lecture(mp4)      

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am

Wednesday
02/11/2022

  • Sorting and searching algorithms
Textbook readings:
  • Weiss ch 5 “algorithm analysis”
  • Wiess ch 8.5-8.6 “sorting algorithms”

 
Lecture recordings:
Full Lecture(mp4)      

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am
week 3:
Trees

Mondqy
07/11/2022

  • Recursion
  • Trees and tree operations
  • Binary Search trees and operations
Textbook readings:
  • Weiss ch 7.1-7.5 “recursion”
  • Weiss ch 18.1 “trees”, ch 18.4 “tree traversals”
  • Weiss ch 19.1–19.3 “binary search trees”

 
Lecture slides:
week3-lecture-slides.zip

 
Source code:
week3-code.zip

 
Problem sheet:
week3-problems.docx
week3-problems-solutions.docx

 

 
Lecture recordings:
Full Lecture (mp4)      

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am

Wednesday
09/11/2022

  • the collections API
Textbook readings:

Weiss ch 6 “the collections api”

 
Lecture recordings:
Full Lecture      

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am
week 4:
Trees & queues

Monday
14/11/2022

  • Priority queues and implementations
Textbook readings:
  • Weiss ch 6.9 “priority queues” (specs)
  • Weiss ch 21 “priority queues” (impl)
  • Weiss ch 13.2 “event-driven simulation”

 
Lecture slides:
week4-lecture-slides.zip

 
Source code:
week4-code.zip

 
Problem sheet:
week4-problems.docx
week4-problems-solutions.docx

 

 

 
Lecture recordings:
     

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am

Wednesday
16/11/2022

  • Priority queues and implementations
Textbook readings:
  • Weiss ch 6.9 “priority queues” (specs)
  • Weiss ch 21 “priority queues” (impl)
  • Weiss ch 13.2 “event-driven simulation”
  • Weiss ch 14.1 “graphs and paths”

 
Lecture recordings:
     

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am
week 5:
Graphs

Monday
21/11/2022

  • Graph implementations and operations
Textbook readings:
  • Weiss ch 14.1 “graphs and paths”
  • Weiss ch 24.2.2 “minimum spanning trees”

 
Lecture slides:
week5-lecture-slides.zip

 
Source code:
week5-code.zip

 

Problem sheet:
week5-wed-problems.docx
week5-problems-solutions.docx

 

 
Lecture recordings:
     

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am

Wednesday
23/11/2022

  • Graph search
  • Minimum Spanning Trees and their algorithms
Textbook readings:
  • Weiss ch 14.1 “graphs and paths”
  • Weiss ch 14.5.1 “topological sorting”
  • Weiss ch 24.2.2 “minimum spanning trees”

 
Lecture recordings:
     

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am
week 6:
Revision

Monday
28/11/2022

  • Revision topics and problems

 
Lecture slides:
Revision.pptx

 

Problem sheet:
week6-problems.docx
week6-problems-solutions.docx

 

 
Lecture recordings:
     

  • 8:00 am-8:45 am
  • 8:55 am-9:40 am
  • 10:00 am-10:45 am