Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Good See details
$3.98 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
More Buying Choices
Have one to sell? Sell yours here
Software Construction and Data Structures with Ada 95 (2nd Edition)
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Software Construction and Data Structures with Ada 95 (2nd Edition) [Paperback]

Michael B. Feldman (Author)

Price: $169.00 & this item ships for FREE with Super Saver Shipping. Details
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want it delivered Wednesday, February 1? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more


Book Description

0201887959 978-0201887952 June 23, 1996 2
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.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with Ada 95: Problem Solving and Program Design (3rd Edition) $109.80

Software Construction and Data Structures with Ada 95 (2nd Edition) + Ada 95: Problem Solving and Program Design (3rd Edition)
Price For Both: $278.80

Show availability and shipping details

  • This item: Software Construction and Data Structures with Ada 95 (2nd Edition)

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Ada 95: Problem Solving and Program Design (3rd Edition)

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought


Editorial Reviews

From the Inside Flap

This text is the first in its field to use Ada 95 throughout as the language of instruction. It is intended for use in a second orthird course at the undergraduate level; it is also suitable forself-study. I assume a basic knowledge of Ada--equivalent to the first eight chapters of Feldman/Koffman, Ada 95: Problem Solving and Program Design, Second Edition, Addison-Wesley, 1996. I also present a summary of the Ada type system in Chapter 1, and a synopsis of other features, oriented to readers with Pascal experience, in Appendix I. Because many readers may have experience with Ada 83but not with Ada 95, I point out new features whereverappropriate.Basic Principles

As the title indicates, this book is about software constructionand data structures. It presents most of the classical datastructures, together with many algorithms, in a framework basedon software construction using the encapsulation principle.Attention is paid to "object thinking" through heavy emphasis onthe state and behavior of objects, on the use of private typesto achieve encapsulation and tight control over operations, andon the use of generic templates to achieve flexibility andreusability.

Performance prediction ("big O" notation) is introduced early inChapter 3 and pervades the remaining chapters; the notion oftrade-offs--for example, time vs. space and speed vs.abstraction--is emphasized throughout. The presentation of "bigO" is correct but rather informal, avoiding heavy mathematicalnotation that might intimidate some readers.

Inheritance and dynamic dispatching are introduced in the middleof the book. However, these important techniques are kept underrather tight control, because over-use of inheritance is nowseen by industry as potentially creating large and unmanageablehierarchies of classes. Indeed, the growing popularity of theStandard Template Library in the C++ community indicates thatgeneric templates are at least as important as inheritancestructures in building understandable and maintainable software.We have endeavored to achieve a balanced presentation, with apreference for generics but due regard for the role ofinheritance.

Packages and application programs--about 200 in all--are presentedin complete and compilable form; we have an aversion to programfragments. However, not all programs are fully functional.Sometimes only a package interface is given, so the studentcan write the implementation as an exercise.Sometimes the implementation is provided, but some or allof the operations are "stubbed out" so as to be compilable butnonfunctional. The intention is to direct the student to fill inthe code for the stubs.General Organization

Each chapter introduces some data structures concepts, a fewADTs, and one or more applications thereof, all in the contextof an integrated approach to Ada 95.

The first chapter is a general introduction to abstraction, witha brief survey of the Ada type system and how it is described inthe Ada standard. Also presented are a few basic Ada 95 topics,describing the changes to the names of standard packages,generalized declaration order, and removal of the write-onlyrestriction on OUT parameters.

The second chapter introduces five simple but very useful ADTs:Rational numbers;Currency (dollars and cents);Calendar dates;Simple video-screen control using ANSI escape sequences;Simple window management.

Recurring use is made of these in later chapters.

Chapter 3 discusses recursion and "big O," with emphasis oninformal estimation of the performance of an algorithm. "Big O"comparison is done using a keyed-table example, with the tableimplemented as an unordered array, and then as an ordered one.This example lays the groundwork for the recurring generickeyed-table introduced in Chapter 5 and reimplemented in laterchapters as appropriate data structures (linked lists, binarysearch trees, hash tables) are brought into play.

A discussion of the relationship between performance predictionand performance measurement is given in Section 3.6, along witha package for measuring elapsed CPU time and some suggestionsfor implementing it on timeshared computers.

Ada's standard time services provide only time-of-day, which isfine for personal computers but useless for measuring CPU timeon a shared system. Therefore one must resort to usingoperating-system services. The example in this section suggestshow to do this and some code is given in an appendix forimplementing it under Unix.

Chapter 4 introduces multidimensional and unconstrained arrays,with examples from vectors and matrices, as well a generaldiscussion of storage mappings for multidimensional arrays.

Chapter 5 introduces generics, including a generic sort and ageneric binary search, and generic ADTs for bit-mapped sets,vectors, and keyed tables.

Chapter 6 introduces variant records, with examples taken frompersonnel records, geometric shapes, variable-length strings,and metric (dimensioned) quantities. Also introduced here areAda 95 tagged types, with a revision of the personnel example toshow type extension as a much more dynamic kind of variantrecord.

Chapter 7 introduces queues and stacks, with differentimplementations, all as generic ADTs, of course. Stacks are usedto implement several simple expression-to-RPN translators;queues are applied in a discrete simulation of a supermarket.

Chapters 8 and 9 present dynamic linear linked structures. Thefirst chapter introduces the basics, the second presents someinteresting generic applications--including a reimplementation ofthe keyed table--as well as introducing Ada 95 unbounded strings,general access types and heterogeneous lists.

Chapter 10 introduces directed graphs, with an application tostate graphs.

Chapter 11 presents the basics of binary trees, using expressiontrees and binary search trees as the main examples. The chapterconcludes with an extended example of a cross-referencer,including an example of Ada 95 subprogram pointers to implementfinite state machines and other table-driven programming.

Chapter 12 presents some "advanced" examples of trees: threadedbinary trees, heaps, AVL trees, and general (non-binary) trees.The heap is presented as a data structure in its own right,which operations provided in a generic package. An example isgiven of using this heap package to implement priority queues;the same generic heap package is reused in Chapter 14 toimplement heap sort.

Chapter 13 gives a brief introduction to hash tables; Chapter 14presents a collection of sorting algorithms, classified by their"big O."

Finally, Chapter 15 gives a brief introduction to concurrentprogramming; Ada task types and protected types are presentedthrough a series of small examples, followed by two majorapplications: a bank simulation and the famous DiningPhilosophers.Acknowledgements

The programs in this book have been tested with the GNATcompiler runnning on a Sun Sparc server under Solaris; weacknowledge the School of Engineering and Applied ScienceComputing Facilty (SEASCF) at The George Washington Universityfor providing the computer resources. We have also tested theprograms under DOS on an IBM-PC compatible.

Michael B. Feldman
Bethesda, MD 0201887959P04062001

From the Back Cover

Ideal for large-scale software system development, Ada 95 is the first fully object-oriented language to be internationally standardized by the ISO and the ANSI. Michael B. Feldman's Software Construction and Data Structures with Ada 95 introduces data structures concepts and their applications using this powerful, yet flexible language. Through the use of generic abstract data type (ADT) packages, this text gives a realistic view of system development using reusable components. With an informal writing style, Michael B.Feldman leads students from subject to subject finding effective, maintainable, and portable solutions to programming problems.

Highlights:
  • Covers Ada 95 object-oriented programming concepts.
  • Introduces algorithm performance evaluation and "big O" notation in Chapter 3 and expands on the concepts throughout the book.
  • Uses real-world applications in each chapter for students to put data structures and ADTs into practice.
  • Provides over 200 executable programs and packages that are portable to any Ada 95 compiler on any computer.

Product Details


More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews


There are no customer reviews yet.
Video reviews
Video reviews
Amazon now allows customers to upload product video reviews. Use a webcam or video camera to record and upload reviews to Amazon.



What Other Items Do Customers Buy After Viewing This Item?


Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Global warming is nothing but a hoax and a scare tactic 8231 1 minute ago
Creationists are trying to rewrite the Laws of Thermodynamics! 799 4 minutes ago
Abiogenesis be Manned- There is no evidence for life having started naturally on Earth. 9 14 minutes ago
Is Space Something? Is Time Something? Or are they Nothing? When Did Space First Begun? When Did Time First Begin? 282 23 minutes ago
Why are people here so scientifically illiterate 6768 44 minutes ago
Are there scientific proofs to support a 9-11 coverup? 25 2 hours ago
Never Again 30 9 hours ago
I just received a "very good" textbook without its disc - what are your thoughts? 168 4 days ago
Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject