skip to content
File structures : an object-oriented approach with C++ Preview this item
ClosePreview this item

File structures : an object-oriented approach with C++

Author: Michael J Folk; Greg Riccardi; Bill Zoellick
Publisher: Reading, Mass. : Addion-Wesley, 1998.
Edition/Format:   Print book : English : Reprinted with correctionsView all editions and formats

Seeks to teach good design judgement through an approach that puts the hands-on work of constructing and running programs at the centre of the learning process. The book presents the practice of  Read more...


(not yet rated) 0 with reviews - Be the first.

More like this

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...


Document Type: Book
All Authors / Contributors: Michael J Folk; Greg Riccardi; Bill Zoellick
ISBN: 0201874016 9780201874013
OCLC Number: 246462240
Notes: Literaturverz. S. 703 - 708.
Description: XXIV, 724 Seiten : Diagramme
Contents: INTRODUCTION TO FILE STRUCTURES. The Heart of File Structure Design.A Short History of File Structure Design.A Conceptual Toolkit: File Structure Literacy.Object-Oriented Programming in C++.FUNDAMENTAL FILE PROCESSING OPERATIONS. Physical Files and Logical Files.Opening Files.Closing Files.Reading and Writing.Seeking.Special Characters in Files.The UNIX Directory Structure.Physical and Logical Files in UNIX.File-related Header Files.UNIX File System Commands.SECONDARY STORAGE AND SYSTEM SOFTWARE. Disks.Magnetic Tape.Disk versus Tape.Storage as a Hierarchy.A Journey of a Byte.Buffer Management.I/O in UNIX.FUNDAMENTAL FILE STRUCTURE CONCEPTS. Field and Record Organization.Using Classes to Manipulate Buffers.Using Inheritance for Record Buffer Classes.Managing Fixed Length, Fixed Field Buffers.An Object-Oriented Class for Record Files.MANAGING FILES OF RECORDS. Record Access.More about Record Structures.Encapsulating Record Operations in a Single Class.File Access and File Organization.Object-Oriented Approach to File Access.Portability and Standardization.ORGANIZING FILES FOR PERFORMANCE. Data Compression.Reclaiming Space in Files.Finding Things Quickly: An Introduction to Internal Sorting and Binary Searching.Keysorting.INDEXING. What Is an Index?A Simple Index for Entry-Sequenced File.Template Classes in C++.Object-Oriented support for Indexed, Entry-Sequenced Files of Data Objects.Indexes That Are Too Large to Hold in Memory.Indexing to Provide Access by Multiple Keys.Retrieval Using Combinations of Secondary Keys.Improving the Secondary Index Structure: Inverted Lists.Selective Indexes.Binding.COSEQUENTIAL PROCESSING AND THE SORTING OF LARGE FILES. A Model for Implementing Cosequential Processes.Application of the Model to a General Ledger Program.Extension of the Model to Include Multiway Merging.A Second Look at Sorting in Memory.Merging as a Way of Sorting Large Files on Disk.Sorting Files on Tape.Sort-Merge Packages.Sorting and Cosequential Processing in UNIX.MULTI-LEVEL INDEXING AND B-TREES. Introduction: The Invention of the B-Tree.Statement of the Problem.Binary Search Trees are not a Solution.Multi-level Indexing, A Better Approach to Tree Indexes.B-Trees: Working up from the Bottom.Example of Creating a B-Tree.An Object-Oriented Representation of B-Trees.B-Tree MEthods Search, Insert, and Others.B-Tree Nomenclature.Formal Definition of B-Tree Properties.Worst-case Search Depth.Deletion, Merging, and Redistribution.Redistribution during Insertion: A Way to Improve Storage Utilization.B* Trees.Buffering of Pages: Virtual B-Trees.Variable-length Records and Keys.INDEXED SEQUENTIAL FILE ACCESS AND PREFIX B+ TREES. Indexed Sequential Access.Maintaining a Sequence Set.Adding a Simple Index to the Sequence Set.The Content of the Index: Separators Instead of Keys.The Simple Prefix B+ Tree.Simple Prefix B+ Tree Maintenance.Index Set Block Size.Internal Structure of Index Set Blocks: A Variable-order B-Tree.Loading a Simple Prefix B+ Tree.B+ Trees.B-Trees, B+ Trees, and Simple Prefix B+ Trees in Perspective.HASHING. Introduction.A Simple Hashing Algorithm.Hashing Functions and Record Distributions.How Much Extra Memory Should Be Used?Collision Resolution by Progressive Overflow.Storing More Than One Record per Address: Buckets.Making Deletions.Other Collision Resolution Techniques.Patterns of Record Access.EXTENDIBLE HASHING. Introduction.How Extendible Hashing Works.Implementation.Deletion.Extendible Hashing Performance.Alternative Approaches.APPENDIX A. FILE STRUCTURES ON CD-ROM. Using this Appendix.Introduction to CD-ROM.Physical Organization of CD-ROM.CD-ROM Strengths and Weaknesses.Tree Structures on CD-ROM.Hashed Files on CD-ROM.The CD-ROM File System.APPENDIX B. ASCII TABLE. APPENDIX C. SIMPLE FILE INPUT/OUTPUT EXAMPLES. List.c. C program to read and display the contents of a file.List.cpp. C++ program to read and display the contents of a file.Person.h. Definition for class Person, including code for constructor.Writestr.cpp. Write Person objects into a stream file Readdel.cpp. Read Person objects with fields delimited by '|'.Readvar.cpp. Read variable length records and break up into Person objects.Writeper.cpp. Function to write a person to a text file.Readper.cpp. Function to prompt user and read fields of a Person.APPENDIX D. CLASSES FOR BUFFER MANIPULATION. Person.h. Definition for class Person.Person.cpp. Code for class Person.Deltext.h. Definition for class DelimitedTextBuffer.Deltext.cpp. Code for class DelimitedTextBuffer.Lentext.h. Definition for class LengthTextBuffer.Lentext.cpp. Code for class LengthTextBuffer.Fixtext.h. Definition for class FixedTextBuffer.Fixtext.cpp. Code for class FixedTextBuffer.Test.cpp. Test program for all buffer classes.APPENDIX E. A CLASS HIERARCHY FOR BUFFER INPUT/OUTPUT. Person.h. Definition for class Person.Person.cpp. Code for class Person.Iobuffer.h. Definition for class IOBuffer.Iobuffer.cpp. Code for class IOBuffer.Varlen.h. Definition for class VariableLengthBuffer.Varlen.cpp. Code for class VariableLengthBuffer.Delim.h. Definition for class DelimFieldBuffer.Delim.cpp. Code for class DelimFieldBuffer.Length.h. Definition for class LengthFieldBuffer.Length.cpp. Code for class LengthFieldBuffer.Fixlen.h. Definition for class FixedLengthBuffer.Fixlen.cpp. Code for class FixedLengthBuffer.Fixfld.h. Definition for class FixedFieldBuffer.Fixfld.cpp. Code for class FixedFieldBuffer.Buffile.h. Definition for class BufferFile.Buffile.cpp. Code for class BufferFile.Recfile.h. Template class RecordFile.Test.cpp. Test program for buffer classes and RecordFile including template function.APPENDIX F. SIMPLE INDEXING AND TEMPLATE CLASSES. APPENDIX G. MULTI-LEVEL INDEXING: B+ TREE CLASSES. APPENDIX H. CLASSES TO SUPPORT HASHING. 0201874016T04062001
Responsibility: Michael J. Folk ; Bill Zoellick ; Greg Riccardi.


User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...


Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data

Primary Entity

<> # File structures : an object-oriented approach with C++
    a schema:CreativeWork, schema:Book ;
    library:oclcnum "246462240" ;
    library:placeOfPublication <> ;
    library:placeOfPublication <> ; # Reading, Mass.
    schema:about <> ; # C plus plus--Dateiorganisation
    schema:about <> ; # File organization (Computer science)
    schema:about <> ; # C++ ; SWD-ID: 41939098
    schema:about <> ; # Dateiorganisation ; SWD-ID: 41934945
    schema:about <> ; # Dateiorganisation--Objektorientierte Programmierung
    schema:about <> ; # Dateiorganisation--C plus plus
    schema:about <> ; # C++ (Computer program language)
    schema:about <> ;
    schema:about <> ; # Objektorientierte Programmierung--Dateiorganisation
    schema:bookEdition "Reprinted with corrections." ;
    schema:bookFormat bgn:PrintBook ;
    schema:contributor <> ; # Bill Zoellick
    schema:contributor <> ; # Greg Riccardi
    schema:creator <> ; # Michael J. Folk
    schema:datePublished "1998" ;
    schema:exampleOfWork <> ;
    schema:inLanguage "en" ;
    schema:name "File structures : an object-oriented approach with C++" ;
    schema:productID "246462240" ;
    schema:publication <> ;
    schema:publisher <> ; # Addion-Wesley
    schema:workExample <> ;
    wdrs:describedby <> ;

Related Entities

<> # Addion-Wesley
    a bgn:Agent ;
    schema:name "Addion-Wesley" ;

<> # Reading, Mass.
    a schema:Place ;
    schema:name "Reading, Mass." ;

<> # C plus plus--Dateiorganisation
    a schema:Intangible ;
    schema:name "C plus plus--Dateiorganisation" ;

<> # C++ (Computer program language)
    a schema:Intangible ;
    schema:name "C++ (Computer program language)" ;

<> # C++ ; SWD-ID: 41939098
    a schema:Intangible ;
    schema:name "C++ ; SWD-ID: 41939098" ;

<> # Dateiorganisation--C plus plus
    a schema:Intangible ;
    schema:name "Dateiorganisation--C plus plus" ;

<> # Dateiorganisation--Objektorientierte Programmierung
    a schema:Intangible ;
    schema:name "Dateiorganisation--Objektorientierte Programmierung" ;

<> # Dateiorganisation ; SWD-ID: 41934945
    a schema:Intangible ;
    schema:name "Dateiorganisation ; SWD-ID: 41934945" ;

<> # File organization (Computer science)
    a schema:Intangible ;
    schema:name "File organization (Computer science)" ;

<> # Objektorientierte Programmierung--Dateiorganisation
    a schema:Intangible ;
    schema:name "Objektorientierte Programmierung--Dateiorganisation" ;

<> # Greg Riccardi
    a schema:Person ;
    schema:familyName "Riccardi" ;
    schema:givenName "Greg" ;
    schema:name "Greg Riccardi" ;

<> # Michael J. Folk
    a schema:Person ;
    schema:familyName "Folk" ;
    schema:givenName "Michael J." ;
    schema:name "Michael J. Folk" ;

<> # Bill Zoellick
    a schema:Person ;
    schema:familyName "Zoellick" ;
    schema:givenName "Bill" ;
    schema:name "Bill Zoellick" ;

    a schema:ProductModel ;
    schema:isbn "0201874016" ;
    schema:isbn "9780201874013" ;

Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.