Software construction and data structures with Ada 95

書誌事項

Software construction and data structures with Ada 95

Michael B. Feldman

Addison-Wesley, c1997

大学図書館所蔵 件 / 3

この図書・雑誌をさがす

注記

Includes index

内容説明・目次

内容説明

Using Ada 95, this book covers classical data structures and algorithms in a software engineering context. Through the use of generic abstract data types (ADT) packages, this text gives a realistic view of system development using reusable components. The book contains over 200 complete and compilable package specifications, implementations, and programs, which are compatible with any Ada compiler.

目次

(Each chapter concludes with "Exercises".) 1. Abstraction and the Ada Type System. Your Ada Starting Points. Some Ada 95 Changes. The Life Cycle of Software Development. The Goals of Software Engineering. Using Abstraction to Manage Complexity. A Quick Tour of the Ada Type System. A Set of Numeric Types for This Book. Abstract Data Types (ADTs). Object-Oriented Programming. A Predefined ADT: the Ada.Calendar Package. Application: Time Around the World. A Predefined ADT: Strings in Ada. Exercises. 2. Writing Abstract Data Types. ADT Design: Rational Numbers. Developing a Test Plan. ADT Design: an ADT for Dollars and Cents. ADT Design: Calendar Dates. ADT Design: Simple Screen Handler. ADT Design: Simple Window Manager. A Few More Ada 95 Topics. Exercises. 3. Algorithms, Recursion, Performance Prediction, and Performance Measurement. Algorithms and Algorithm Design. Recursive Algorithms. Performance Prediction and the "Big O" Notation. Design: An ADT for Keyed Tables. Application: A Simple Employee Database. Measuring Program Performance. Exercises. 4. Multidimensional and Unconstrained Array Types. Data Structures: Multidimensional Arrays. Data Structures: Unconstrained Array Types. Application: A General Sorting Program. ADT Design: Mathematical Vectors. ADT Design: Mathematical Matrices. Storage Mappings. Exercises. 5. Generic Subprograms and Packages. Ada Structures: Generic Units. Application: A Generic Sorting Program. Application: a Generic Binary Search Program. ADT Design: An Abstract Data Type for Sets. Application: Music Makers. ADT Design: A Generic Vector Package. Summary of Generic Specifications. ADT Design: Generic Keyed Table Handler. ADT Design: A Generic Backup Package. Application: Airline Passenger List. ADT Design: ADTs versus Abstract Data Objects. Exercises. 6. Variant and Tagged Record Types. Ada Structures: Variant Records. ADT Design: Geometric Figures. ADT Design: Metric System. ADT Design: Variable-Length Strings. Ada Structures: Strings in Ada 95. Ada Structures: Tagged Types. Exercises. 7. Queues and Stacks. Queues and Stacks Introduced. ADT Design: FIFO Queues. ADT Design: Priority Queues. ADT Design: Stacks. Expression Evaluation and Polish Notation. Application: An Infix-to-RPN Translator Program. Application: An Event-Driven Simulation. Exercises. 8. Access Types and Dynamic Data Structures. Ada Structures: Access Types and the NEW Operator. Data Structures: Singly Linked Lists. Recursive Implementations of Linked-List Operations. Iterative Implementation of Linked-List Operations. Linked Lists with Head and Tail Pointers. Ordered Insertions in Linked Lists. Debugging Programs with Linked Lists. Exercises. 9. Linked List Applications. ADT Design: A Generic ADT for Singly-Linked Lists. Allocation Using a List of Available Space (LAVS). ADT Design: Unbounded Queues and Stacks. ADT Design: The Keyed Table as a Linked List. Application: The Airline Passenger List Again. ADT Design: Passive and Active Iterators. ADT Design: Unbounded Variable-Length Strings. Application: Sparse Vectors and Matrices. Simulating Dynamic Memory Management. Ada Structures: Ada 95 Unbounded Strings. Ada Structures: Ada 95 General Access Types. Heterogeneous Structures and Dynamic Dispatching. Exercises. 10. Directed Graphs. Undirected and Directed Graphs. Properties of Digraphs. Implementations of Directed Graphs. Graph Traversals. A Generic ADT for Directed Graphs. Application: A Simple Lexical Scanner. Exercises. 11. Binary Trees. Trees. Properties of Binary Trees. Implementing Binary Trees. Traversals of Binary Trees. Expression Trees. Application: Building an Expression Tree. Binary Search Trees (BSTs). ADT Design: The Keyed Table as a BST. Application: A Cross-Reference Generator. Subprogram Pointers and Table-Driven Programming. Exercises. 12. Advanced Tree Concepts. Threaded Binary Search Trees. Heaps. Application: The Priority Queue as a Heap. Digital Search Trees. AVL Balanced Binary Search Trees. B-Trees. Exercises. 13. Hash Table Methods. Sequential and Binary Search Revisited. The Hash Table. Choosing a Hash Function. Resolving Collisions in Hash Tables. Hybrid Search Strategies. Exercises. 14. Internal Sorting Methods. Introduction. O(N2) Sorts: Simple Selection Sort. O(N2) Sorts: Delayed Selection Sort. O(N2) Sorts: Bubble Sort. O(N2) Sorts: Linear Insertion Sort. O(N log N) Sorts: Merge Sort. O(N log N) Sorts: Heap Sort. O(N log N) Sorts: Quick Sort. Other Sorts: Shell Sort. Other Sorts: Quadratic Selection Sort. Other Sorts: Radix Sort. Exercises. 15. Introduction to Concurrent Programming. What Is Concurrent Programming? Ada Structures: Task Types and Task Objects. Ada Structures: Protected Types and Protected Objects. Data Structures: The Task as a Data Structure. Application: Simulation of a Bank. Application: The Dining Philosophers. Chapter Review. Exercises. Appendices. A. The Ada Character Set, Delimiters, and Reserved Words. B. Ada 95 Syntax Rules. C. The Ada Predefined Language Environment. D. Specification of the Package Ada.Text_IO. E. Specification of the Package Ada.Calendar. F. Specification of the Ada Math Libraries. G. Specification of the Ada String Libraries Used in this Book. H. Summary of Ada Execution-Time Exceptions. I. Ada Hints for Pascal Users. J. Timing Algorithm Performance on a Shared Computer.

「Nielsen BookData」 より

詳細情報

  • NII書誌ID(NCID)
    BA29532424
  • ISBN
    • 0201887959
  • LCCN
    95051754
  • 出版国コード
    us
  • タイトル言語コード
    eng
  • 本文言語コード
    eng
  • 出版地
    Reading, Mass.
  • ページ数/冊数
    xiii, 647 p.
  • 大きさ
    24 cm
  • 件名
ページトップへ