Create sound software designs with data structures that use modern object-oriented design patterns! Author Bruno Preiss presents the fundamentals of data structures and algorithms from a modern, object-oriented perspective. The text promotes object-oriented design using Java and illustrates the use of the latest object-oriented design patterns. Virtually all the data structures are discussed in the context of a single class hierarchy. This framework clearly shows the relationships between data structures and illustrates how polymorphism and inheritance can be used effectively.
Key Features of the Text
- * All data structures are presented using a common framework. This shows the relationship between the data structures and how they are implemented.
- * Object-oriented design patterns are used to demonstrate how a good design fits together and transcends the problem at hand.
- * A single Java software design is used throughout the text to provide a better understanding of the operation of complicated data structures.
- * Just-in-time presentation of mathematical analysis techniques introduces students to mathematical concepts as needed.The site includes:
- * The Web Book (a hypertext version of the complete book)
- * Links to the Java Source Code (all the program examples from the text)
- * Opus5 Package (a Java package comprised of all the source code from the text)
- * Documentation (source code documentation)
- * Demo Applets (various Java applets that illustrate data structures and algorithms from the text)
- * Archive (JAR format archive of the source code from the text)
- * Front Matter (table of contents and preface)
- * Solutions Manual (password required)
- * Errata
This book is about the fundamentals of data structures and algorithms -- the basic elements from which large and complex software artifacts are built. The target is to teach you to develop a solid understanding of a data structure, which requires three things.
First, you will learn how the information is arranged in the memory of the computer. Second, you will learn the algorithms for manipulating the information contained in the data structure. And third, you will learn the performance characteristics of the data structure so that when called upon to select a suitable data structure for a particular application, you will be able to make an appropriate decision.
This book also illustrates object-oriented design and it promotes the use of common, object-oriented design patterns. The algorithms and data structures in the book are presented in the Java programming language. Virtually all the data structures are presented in the context of a single class hierarchy. This commitment to a single design allows the programs presented in the later chapters to build upon the programs presented in the earlier chapters.