ebook img

File Structures: An Object-Oriented Approach with C++ PDF

749 Pages·1998·30.904 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview File Structures: An Object-Oriented Approach with C++

File Structures Acquisitions Editor: Susan Hartman Dedication Dedication To Pauline and Rachel To Karen, Joshua, and Peter and To Ann, Mary, Christina, and Elizabeth l Preface- Preface ■ The first and second editions of File Structures by Michael Folk and Bill Zoellick established a standard for teaching and learning about file struc tures. The authors helped many students and computing ptofessionals gain familiarity with the t?ols used t9 organize files. This book extends the presentation of file structure design that has been so successful for twelve years with an object-oriented approach to implementing file structures using C++. It demo.qstrates how the object oriented approach can be successfully applied to complex implementation problems. It is intended for students in ·computing classes who have had at least one programming course and for computing professionals who want to improve their skills iri using files. This book shows you how to design and implement efficient file struc tures that are easy for application programmers to use. All you.need is a compiler for C++ or_ other object-or~ented programming language and an operating system. This book provides the conc~ptual t0<?ls that enable you to think through alternative file structure designs that apply to the task at hand. It also develops the programming skills necessary to produce quali ty implementations. The coverage of the C+-t language in this book is suitable for readers : with a bask knowledge of the language. Readers who have a _working familiarity with C++ should have no problem understanding the programming examples. Those who have not programmed in C++ will benefit from access to an introductory textbook.. The first programming examples in the book use very.simple C++ classes to develop impl_ementations of fundamental file structure tools. viii Preface PPrefarceeface - to have simple implementations and for the book to explain the features of B-tre_es as enhancements of previous tools. The second purpose of the programming component of the book is to illustrate the proper use of object-oriented methods. Students are often exposed to object-oriented techniques through simple examples. However, it is only in complex systems that the advantages of object-oriented tech niques become clear. In this.book, we have taken advantage of the orderly presentation· of file structure tools to build a complex software system as a sequence 'Of relatively simple design and implementation· steps. Through this approach, students get specific examples of the advantages of object oriented methods and are able to improve their own programming skills. A Progressive Presentation of C++ We cover the principles of design and implementation in a progressive fashion. Simple concepts come first and form the foundation for more complex con·cepts. Simple classes are designed and implemented in the early chapters, then are used extensively for the implementation topics of the later chapters. The most complex file structure tools have simple implementations· because they extend the solid foundation of the early chapters. We also present the features of C++ ~nd the techniques of object ori-_en ted programming in a progressive fashion. The use of C++ begins with the simplest class definitions. Next comes the use of stream-classes for input. and output. Further examples introduce inheritance, then virtual functions, and finally templates. Each new feature is introduced and explained in the context of a useful file structure application. Readers see how to apply object=oriented techniques to programming problems and learn firsthand how object orien~ed techniques can make complex programming tasks simpler. Exercises and Programming Problems The book includes a wealth of new analytical and programming exercises. The programming exercises include extensions and enhancements to the file structure tools anq the application of those tools. The tools in the book are working software, but some operations have been left as programming X Preface xi PPrefarceeface A Book for Computing Professionals We wrote and revised this book w·ith our professional colleagues in mind. The style is conversational; the intent is to provide a book that you can read over a number of evenings, coming away with a good sense of how to approach file structure design probl~ms. Some computing professionals may choose to s~ip the extensive programming exan1ples and concentrate on the conceptual tools of file structure design. Others may want to use the C++ class ~efinitions and code a.s the basis for their own implementa tions of file structure tools. If you are already familiar with basic file structure desigIJ. concepts and programming in C++, skim through-the ~rst six chapters and begin read ing about indexing in Chapter 7. Subsequent chapters introduce you 'to cosequ_ential processing, B-trees, B+ trees, hashing, and extendible hash ing. These are key tools for any practicing programmer who is building file structures. We have tried to present them in a way that is both thorough and readable. The object-oriented C++ design and the implementation included throughout the book provide an extensive tour of the capabilities of the language and thorough ex~mples of object-oriented design. If you n~ed to build and access file structures similar to the ones in the text, you can_ use the C++ code as class libraries that you can adapt to-your needs. A careful reading of the design and implementation examples can be helpful in enhancing your skills with object-oriented tools. All of the code included in the book is available on the Internet. If you are not already a serious Unix user, the Unix material in the first eight chapters will give you a feel for why Uni..x is a powerful environment in which to work with files. Suppl~mentary Materials The following supplementary materials are available to ass~st instructors and students~ Links to these supplements are on the book's official World Wide Web page at http://www.awl.com/cseng/titles/0-201-87401-6/ . . An Instructors' Guide including answers to exercises will be available. Instructors should contact their Addison-Wesley local sales representative for information on the Guide's availability. Programming examples and code will also be available via anonymous ftp at ftp.aw.com/cseng/authors/riccardi Xii Acknowledgments

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.