Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
An object-oriented introduction to data structures using Eiffel
Wiener R. (ed), Prentice-Hall, Inc., Upper Saddle River, NJ, 1997. Type: Book (9780131855885)
Date Reviewed: May 1 1998

There are hundreds of computer languages in the world. Many of the earlier languages have given birth to new ones, as needs have changed and hardware and software have advanced. A formal classification of languages into such categories as procedural, authoring, simulation, artificial intelligence, and object-oriented is useful in problem solving. Despite the apparent diversity of languages, there are limited and common data structures. The data structures and constructs available in a language are of prime importance for implementation of algorithms. Thus, the choice of data structure influences the source code development as well as the efficiency of the implementation. Object-oriented programming not only unifies the data and processes but extends the facilities available in procedural languages. For example, programmers can define their own abstract data types.

This lucid textbook introduces first-level object-oriented data structures. The rudiments of object-oriented programming are introduced in chapter 1. Chapter 2 summarizes the features of the Eiffel language. Short and simple examples do a good job of illustrating the concepts.

Object-oriented data structures are introduced in chapters 3 through 6. The linear data structures introduced are arrays, strings, static and dynamic stacks, queues, and lists. Unordered, ordered, and doubly linked lists are introduced. Sorting algorithms are implemented in Eiffel. Lists, which are the more complex data structures, are shown to be useful for implementing stacks and different types of queues, including priority queues and deques. Permutations of four letters are used to demonstrate recursion.

Chapters 7 through 9 deal with the application of stacks, queues, and lists. Chapter 7 presents programs for the conversion of a recursive routine to an iterative procedure, transforming infix to postfix notation in mathematical expressions, a solitaire game, and permutations. A discrete simulation of people waiting in line is the example application for queues. The procedure for linking an object module of a C program for random number generation in Eiffel is demonstrated. Long integers (of 100 digits), which are useful in cryptology and sparse polynomials, are implemented using lists. Eiffel implementations of algorithms for the addition of long integers, differentiation, and integration of polynomials are used as examples.

Chapters 10 and 11 are devoted to nonlinear data structures, including binary trees and balanced search trees. The Eiffel programs for syntax checking, evaluating mathematical expressions, databases, searching, sorting, and games make chapter 10 lively reading. Multiple left or right rotation to balance the trees, and the searching of height- and weight-balanced trees, are the bases of chapter 11. The author discusses set and hash table algorithms and their implementation in Eiffel in terms of bit-type data.

Eiffel is a good choice of language for implementing object-oriented data structures, because it is purely object-oriented, rather than being an extension of an existing procedural language. The examples chosen are appropriate for the book’s intended readers. The definitions are precise and clear. The easy-to-read style, illustrative examples, and Eiffel code are the highlights of the book. Although the author says it is not a book on Eiffel, it will be a useful resource for people learning to program in Eiffel. It is suitable as a textbook for all those interested in data structures or object-oriented programming.

Reviewer:  R. Sambasiva Rao Review #: CR121012 (9805-0289)
Bookmark and Share
 
Eiffel (D.3.2 ... )
 
 
Arrays (E.1 ... )
 
 
Lists, Stacks, And Queues (E.1 ... )
 
 
Sorting And Searching (F.2.2 ... )
 
 
Trees (E.1 ... )
 
 
Object-Oriented Programming (D.1.5 )
 
Would you recommend this review?
yes
no
Other reviews under "Eiffel": Date
Eiffel: the language
Meyer B., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780132479257)
Jun 1 1993
Eiffel
Switzer R., Prentice-Hall, Inc., Upper Saddle River, NJ, 1993. Type: Book (9780131059092)
Dec 1 1994
Software development using Eiffel
Wiener R. (ed), Prentice-Hall, Inc., Upper Saddle River, NJ, 1995. Type: Book (9780131006867)
Oct 1 1996
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy