covers listsstacksand queues this includes discussion of the stl vector and list classesincluding material on iteratorsand it provides implementations of significant subset of the stl vector and list classes covers treeswith an emphasis on search treesincluding external search trees ( -treesthe unix file system and expression trees are used as examples avl trees and splay trees are introduced more careful treatment of search tree implementation details is found in additional coverage of treessuch as file compression and game treesis deferred until data structures for an external medium are considered as the final topic in several included is discussion of the stl set and map classesincluding significant example that illustrates the use of three separate maps to efficiently solve problem discusses hash tablesincluding the classic algorithms such as separate chaining and linear and quadratic probingas well as several newer algorithmsnamely cuckoo hashing and hopscotch hashing universal hashing is also discussedand extendible hashing is covered at the end of the is about priority queues binary heaps are coveredand there is additional material on some of the theoretically interesting implementations of priority queues the fibonacci heap is discussed in and the pairing heap is discussed in covers sorting it is very specific with respect to coding details and analysis all the important general-purpose sorting algorithms are covered and compared four algorithms are analyzed in detailinsertion sortshellsortheapsortand quicksort new to this edition is radix sort and lower bound proofs for selection-related problems external sorting is covered at the end of the discusses the disjoint set algorithm with proof of the running time this is short and specific that can be skipped if kruskal' algorithm is not discussed covers graph algorithms algorithms on graphs are interestingnot only because they frequently occur in practice but also because their running time is so heavily dependent on the proper use of data structures virtually all of the standard algorithms are presented along with appropriate data structurespseudocodeand analysis of running time to place these problems in proper contexta short discussion on complexity theory (including np-completeness and undecidabilityis provided covers algorithm design by examining common problem-solving techniques this is heavily fortified with examples pseudocode is used in these later so that the student' appreciation of an example algorithm is not obscured by implementation details deals with amortized analysis three data structures from and and the fibonacci heapintroduced in this are analyzed covers search tree algorithmsthe suffix tree and arraythe - treeand the pairing heap this departs from the rest of the text by providing complete and careful implementations for the search trees and pairing heap the material is structured so that the instructor can integrate sections into discussions from other for examplethe top-down red-black tree in can be discussed along with avl trees (in to provide enough material for most one-semester data structures courses if time permitsthen can be covered graduate course on algorithm analysis could cover to the advanced data structures analyzed in can easily be referred to in the earlier the discussion of np-completeness in xvii