18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Fundamental Data Types<br />

Next: Containers Up: Data Structures and Sorting Previous: Data Structures and Sorting<br />

Fundamental Data Types<br />

An abstract data type is a collection of well-defined operations that can be performed on a particular<br />

structure. <strong>The</strong> operations define what the data type does, but not how it works. Abstract data types are<br />

black boxes that we dare not open when we design algorithms that use them.<br />

For each of the most important abstract data types, several competing implementations, or data<br />

structures, are available. Often, alternative data structures realize different design tradeoffs that make<br />

certain operations (say, insertion) faster at the cost of other operations (say, search). In some<br />

applications, certain data structures yield simpler code than other implementations of a given abstract<br />

data type, or have some other specialized advantages.<br />

We assume that the reader has had some previous exposure to elementary data structures and some<br />

fluency in pointer manipulation. <strong>The</strong>refore, we do not discuss these topics here. <strong>The</strong> reader who wants to<br />

review elementary data structures is referred to any of the books in Section . Instead, we focus on<br />

three fundamental abstract data types: containers, dictionaries, and priority queues. Detailed discussion<br />

of the tradeoffs between implementations of these data types is deferred to the relevant catalog entry.<br />

● Containers<br />

● Dictionaries<br />

● Binary Search Trees<br />

● Priority Queues<br />

<strong>Algorithm</strong>s<br />

Mon Jun 2 23:33:50 EDT 1997<br />

file:///E|/BOOK/BOOK/NODE23.HTM [19/1/2003 1:28:21]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!