Fundamentals and implementation of Binary Search Trees; Balancing Binary Search Trees; Tree traversals (depth and breadth-first); Graph representations; Hash Tables; Algorithm analysis: upper and average complexity bounds, best, average and worst case algorithm behaviour; Algorithm strategies: brute force, greedy, divide and conquer and backtracking algorithms. Selected advanced topics in Algorithms and Data Structures.Erasmus and Study abroad studentsPlease note that modules...
Learning Outcomes
Describe a variety of structures for storing data such as binary search trees, balanced binary trees and hash tables
Outline a range of algorithms in the areas of data compression, cryptography and graph theory
Explain various object-oriented programming concepts such as encapsulation, inheritance and polymorphism
Design, develop, test and debug object-oriented programs in Java
Apply knowledge of algorithm complexity and data structuring techniques to problem solving