Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Data structures and algorithm analysis in C (2nd ed.)
Weiss M., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1997. Type: Book (9780201498400)
Date Reviewed: Feb 1 1998

Weiss’s well-written, informative, and up-to-date textbook is essentially similar to the previous edition in C [1] and other versions in C++ and Ada [2,3]. Like the others, the C version is strong on the analysis of algorithms and extremely rich in analytical styles, data structures, and techniques. While there is relatively little code in the text, according to the author’s philosophy that students should write rather than read, the code that is included is well written, makes good use of C’s features, and avoids coding tricks. The book is slightly more mathematical than some others intended for the same course, though calculus is not a prerequisite. This edition adds a few new exercises and references and a new chapter on advanced topics and recent developments.

The strength of the book is in analysis, and Weiss discusses upper and lower bounds on the running time of every structure and technique. An average-case analysis is given for most methods, and space considerations are introduced where appropriate. Though this is a book about practice rather than theory, the concept of NP-completeness is introduced and reinforced in exercises. Though the book’s general organization is according to structure (such as lists and graphs), there is a nice chapter demonstrating an alternative organization--organization by technique (such as greedy and backtracking).

The range of techniques is impressive. Standard structures such as lists and graphs are covered, as are the usual sorting methods. Amortized analysis, self-adjusting structures, and probabilistic algorithms are treated, in addition to the more standard methods. Some of the results are quite current, with a few references to papers as recent as 1995. The recent work covers both analysis (on such topics as shell sort) and structuring techniques (such as Fibonacci heaps). It is hard to offer much criticism of the book without seeming picky. It is not intended as a reference work, so there are a few things you might look for and not find (AVL delete, for example). These few omissions are pointed to in the references, which are quite complete, covering both original papers and various collections. Each chapter has both a summary of its contents and a brief annotated bibliography.

The author has provided over 300 exercises, ranging from easy questions to difficult problems. The more challenging exercises are marked.

One should not get the idea from the above that the book is out of reach for many undergraduates. It is well written and generally informal in style. While the author strives for completeness and correctness, he does not sacrifice readability and approachability. This is a fine book that will be useful both to students and to professionals who would like a summary of modern methods. I would not hesitate to use it with students who have not previously studied C. In a few places, the author gives wonderful explanations of why naive algorithms are inadequate, nicely motivating the advanced work.

Reviewer:  Joseph Bergin Review #: CR120883 (9802-0029)
1) Weiss, M. A. Data structures and algorithm analysis in C. Benjamin-Cummings, Redwood City, CA, 1993.
2) Weiss, M. A. Data structures and algorithm analysis in C++. Benjamin-Cummings, Redwood City, CA, 1994.
3) Weiss, M. A. Data structures and algorithm analysis in Ada. Benjamin-Cummings, Redwood City, CA, 1993.
Bookmark and Share
 
C (D.3.2 ... )
 
 
Data Types And Structures (D.3.3 ... )
 
 
Graph Algorithms (G.2.2 ... )
 
 
Hash-Table Representations (E.2 ... )
 
 
Sorting And Searching (F.2.2 ... )
 
 
Trees (E.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "C": Date
C (2nd ed.)
Schildt H., Osborne/McGraw-Hill, Berkeley, CA, 1990. Type: Book (9780078815386)
Jan 1 1992
C: a software engineering approach
Darnell P., Margolis P., Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387973890)
Dec 1 1991
C for programmers
Ammeraal L., John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471928515)
Dec 1 1991
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