Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Data structures and program design in C
Kruse R., Leung B., Tondo C., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780137256495)
Date Reviewed: Oct 1 1992

Except for the obvious difference that all the programming examples in the current text are in C, this book is an almost word-for-word reproduction of the first author’s 1987 Pascal-based book [1]. All the chapter titles and basic content are identical except that this edition is missing the case study chapter on an index writer.

I asked the obvious questions as I reviewed the book. How did the change from Pascal to C affect the strengths of the book? Were other substantive changes made? How have the contents weathered the changes suggested by Computing curricula 1991 [2]?

Since many institutions have switched to C as the language for the first course, and since several of Kruse’s competitors have produced C versions of their texts, it is quite logical that this book should have appeared. The C code itself exhibits a consistent, structured, highly readable style. The translators appear to have capitalized on C’s strengths without sacrificing the focus on data abstraction and algorithm design regardless of language. These features speak to the original version’s lucidity. The authors are not suggesting that C is the best language for presenting this material, however. All the passages that extol the virtues of Pascal as a language for presentation of algorithms in the second edition [1] are glaringly omitted from the new C edition.

The preface indicates the book’s suitability for a CS2 course utilizing the first eight chapters and part of the ninth, or for covering both CS2 and CS7 if the entire book is used over two semesters. The text assumes that students have had a first course in programming (not necessarily in C, as a brief ANSI C tutorial appears in an appendix). It does not require mathematics beyond good high school preparation, although the authors suggest that a concurrent course in discrete mathematics would be useful for the later chapters.

I paid particular attention to how well the book covers the algorithm and data structures knowledge units described by Computing curricula 1991. Of the nine knowledge units on algorithms (AL1-AL9), a thorough job is done on six. The book has good coverage of the basic data structures (AL1--arrays, tables, stacks, queues, trees, and graphs) and the AL2 notion of abstract data types. Recursion and recursive algorithms (AL3) are covered but without the mathematical foundation suggested in AL3. Complexity analysis (AL4) utilizing big “O” notation is covered throughout. Sorting and searching (AL6) receive considerable attention. Perhaps the book’s greatest strength lies in its coverage of practical problem-solving strategies (AL8), beginning with the Game of Life problem and continuing through its improvements and other compelling and creative problems. No coverage is given to three topics--complexity classes (AL5), including P and NP; computability and undecidability (AL7); and parallel and distributed algorithms (AL9).

Although this book, like its predecessors, is carefully laid out with helpful illustrations, it suffers from the lack of red as a contrasting color, which was one of the strengths of the second edition of the Pascal version. This book will be warmly received by those who loved Kruse’s book before, but were looking for a C version. It should not be overlooked by those wishing for their first C data structures text. It is not, however, for those looking for a stronger theory-based text with a strong mathematical foundation.

Reviewer:  B. B. Owens Review #: CR123999
1) Kruse, R. L. Data structures and program design (2nd ed.). Prentice-Hall, Englewood Cliffs, NJ, 1987.
2) Tucker, A. B., et al. Computing curricula 1991, report of the ACM/IEEE-CS Joint Curriculum Task Force. ACM Press, New York, 1990.
Bookmark and Share
 
Data Structures (E.1 )
 
 
Abstract Data Types (D.3.3 ... )
 
 
C (D.3.2 ... )
 
 
Methodologies (D.2.1 ... )
 
 
Recursion (D.3.3 ... )
 
 
Validation (D.2.4 ... )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Data Structures": Date
Handbook of algorithms and data structures
Gonnet G. (ed), Baeza-Yates R., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1991. Type: Book (9780201416077)
Feb 1 1992
Data structures and algorithm analysis
Weiss M., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1992. Type: Book (9780805390544)
Aug 1 1992
The maximum size of dynamic data structures
Kenyon-Mathieu C., Vitter J. (ed) SIAM Journal on Computing 20(5): 807-823, 1991. Type: Article
Feb 1 1993
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