There are many textbooks covering data structures and algorithms, and many of these focus on Java as the basis of the presentation. Any of these should provide adequate reference material for the module.
The module will loosely follow the textbook "Data Structures and Algorithms in Java" by Michael T. Goodrich and Roberto Tamassia, and published by Wiley.
The slides used in lectures will be made available here.
Please note that these are slides, and only slides. The slides alone will not be adequate for revision.
A lab exam will be held on Monday the 10th of November during the regularly-scheduled lab slot of 10.00 to 12.00 in L101.
A further lab exam will be held on Monday the 15th of December, again during the regularly-scheduled lab slot of 10.00 to 12.00 in L101.
Lab exercises:
Week 4, stacks and queues; (see also the code snippets, below)
Week 6, recursion and lists; (see also SimpleList.java and the Comparable interface)
Week 8, sets; (some possibly useful test input); you will need AVLTree.java, Accumulator.java and AccumulateString.java
Week 9, hash tables; (see also HashTable.java and HashKeyValue.java)
Week 10, sorting; (see also Quicksort.java, paths.txt and filenames-uniq.txt)
Week 11, sorting (again); (a skeleton is available here)
Week 12, lab exam; (a skeleton is available here)
Web links:
Notes on redirecting standard input and standard output are available here.
Some notes on the Java Vector class (courtesy of Fred Swartz).
Code snippets for stack and queue labs (week 4):