Abstract Data Types
Peter Thomas(Author)
Clarendon Press
Published on 1. August 1988
Book
Hardback
272 pages
978-0-19-859663-9 (ISBN)
Description
This work is an introduction to abstract data types and their use in software engineering. Abstract data types are used in almost all stages of software development to formally specify and design programmes and to implement software. Based on an Open University course, the textbook is suitable for first and second year undergraduates in computer science coming to the subject for the first time. The authors' aim is to lead the student through designing, constructing and implementing abstract data types using a number of simple but important concepts of software engineering such as "stack", "queue" and "binary search trees". The two specification methods studied are the axiomatic approach and the constructive approach. Illustrative examples using Modula-2 and Ada and three case studies are considered. The book has been designed as a self-study text; over 100 exercises with fully worked solutions as well as check point questions are provided so that the reader can assess her or his progress.
More details
Language
English
Place of publication
Oxford
United Kingdom
Publishing group
Oxford University Press
Target group
College/higher education
Professional and scholarly
Illustrations
49 figures, 5 tables, bibliography
ISBN-13
978-0-19-859663-9 (9780198596639)
Copyright in bibliographic data is held by Nielsen Book Services Limited or its licensors: all rights reserved.
Schweitzer Classification
Persons
Content
Part 1 Abstract data types and software engineering: introduction; specification. Part 2 Formal specification of abstract data types: introduction; syntax and semantics; defining syntax; defining semantics axiomatically; defining semantics constructively. Part 3 Representation and implementation of abstract data types: introduction; a cursor-based implementation of a stack in PASCAL; a pointer-based implementation of a stack in PASCAL; information hiding; implementing a stack in UCSD PASCAL; constraint handling; summary of chapter. Part 4 Encapsulation in high level languages: introduction; information hiding in Ada; information hiding in Modula-2; exception handling; summary of chapter. Part 5 The abstract data type queue: introduction; the specification of the abstract data type queue; a linked representation; a pointer-based implementation in UCSD PASCAL; a cursor-based representation; implementation in UCSD PASCAL; summary of chapter. Part 6 The abstract data type deque: introduction; the specification of the abstract data type deque; a linked representation; a pointer-based implementation. Part 7 Binary search trees: trees, binary trees and binary search trees; the specification of the binary tree; the specification of the binary search tree; tree traversals; implementation of the binary search tree; summary of chapter. Part 8 Case studies: case study 1 - a directory; case study 2 - a file editor; case study 3 - a database application. Part 9 Object-oriented program design: introduction; example - maintaining a bank account; implementation; review; object-oriented programming languages. References and bibliography. Solutions to exercises. Index.