Introduction to algorithms and data structures. Review of elementary programming concepts suitable for the implementation of abstract data types (operators, types and expressions; control of flow; methods; recursion; input & output); Algorithms for searching: linear, bounded linear and binary searches; Algorithms for sorting: selection, insertion, bubble and quick sorts; Fundamental linear data structures: stacks, queues, linked lists; Object-oriented programming: encapsulati...
Learning Outcomes
Recognise the importance of program complexity
Describe a variety of structures for storing data such as arrays, linked lists, stacks and queues
Explain a range of algorithms involving searching and sorting
Identify data structuring strategies appropriate to a given context
Design, develop, test and debug object-oriented programs in Java
Apply data structuring techniques to the design of computer programs