correspond to blocks on the disk as in other treesthe algorithms find their way down the treereading one block at each level -trees provide searchinginsertionand deletion of records in (logntime this is quite fast and works even for very large files howeverthe programming is not trivial hashing if it' acceptable to use about twice as much external storage as file would normally takethen external hashing might be good choice it has the same access time as indexed fileso( )but can handle larger files figure showsrather impressionisticallythese choices for external storage structures figure relationship of external storage choices virtual memory sometimes you can let your operating system' virtual memory capabilities (if it has themsolve disk access problems with little programming effort on your part if you read file that' too big to fit in main memorythe virtual memory system will read in that part of the file that fits and store the rest on the disk as you access different parts of the filethey will be read from the disk automatically and placed in memory you can apply internal algorithms to the entire file just as if it were all in memory at the same timeand let the operating system worry about reading the appropriate part of the file if it isn' in memory already of course operation will be much slower than when the entire file is in memorybut this would also be true if you dealt with the file block by block using one of the external-storage algorithms it may be worth simply ignoring the fact that file does not fit in memoryand see how well your algorithms work with the help of virtual memory especially for files that aren' much larger than the available memorythis may be an easy solution onward we've come to the end of our survey of data structures and algorithms the subject is large and complexso no one book can make you an expertbut we hope this book has made it easy for you to learn about the fundamentals appendix "further reading,contains suggestions for further study