Formalizing the Dynamic Semantics of Java

Download Report

Transcript Formalizing the Dynamic Semantics of Java

Java Collections
An Introduction to
Abstract Data Types,
Data Structures,
and Algorithms
David A Watt and Deryck F Brown
© 2001, D.A. Watt and D.F. Brown
Aims
• To study the concept of algorithms, and how to analyze
their efficiency.
• To study the concept of abstract data types, and the
abstract data types most commonly used in software
development (stacks, queues, lists, sets, and maps).
• To study the basic data structures most commonly used to
represent these abstract data types (arrays, linked lists,
binary search trees, and hash tables), together with
algorithms operating on these data structures.
Contents
1 Introduction
2 Algorithms
3 The Array Data Structure
4 Linked-List Data Structures
5 Abstract Data Types
6 Stack Abstract Data Types
7 Queue Abstract Data Types
8 List Abstract Data Types
9 Set Abstract Data Types
10 Binary Tree Data Structures
11 Map Abstract Data Types
12 Hash-Table Data Structures
Textbook
Textbook (continued)
• Web site: http://www.dcs.gla.ac.uk/~daw/books/JC
• This set of slide presentations covers Chapters 1–12 of the
textbook.
• Slide presentations covering Chapters 13–17 will be added
in due course.