or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Sell Back Your Copy
For a $23.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Purely Functional Data Structures
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Purely Functional Data Structures [Paperback]

Chris Okasaki (Author)
4.4 out of 5 stars  See all reviews (10 customer reviews)

List Price: $53.00
Price: $44.98 & this item ships for FREE with Super Saver Shipping. Details
You Save: $8.02 (15%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Tuesday, January 31? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Hardcover $79.84  
Paperback $44.98  
Sell Back Your Copy for $23.00
Whether you buy it used on Amazon for $39.25 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $23.00.
Used Price$39.25
Trade-in Price$23.00
Price after
Trade-in
$16.25

Book Description

0521663504 978-0521663502 June 13, 1999
Most books on data structures assume an imperative language such as C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functional data structures. The author includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs are easily adaptable to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Purely Functional Data Structures + Pearls of Functional Algorithm Design + The Haskell Road to Logic, Maths and Programming (Texts in Computing)
Price For All Three: $117.04

Some of these items ship sooner than the others. Show details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Pearls of Functional Algorithm Design $49.77

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • The Haskell Road to Logic, Maths and Programming (Texts in Computing) $22.29

    Usually ships within 9 to 14 days.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details



Editorial Reviews

Review

"This book is important because it presents data structures from the point of view of functional languages...a handy reference for professional functional programmers...Most of the programs can easily be adapted to other functional languages. Even C and Java programmers should find implementing these data structures a relatively straightforward process...Programs are physically well structured and readable, and are displayed in boxes. Okasaki has produced a valuable book about functional programming, exploring a wide range of data structures...a significant contribution to the computer science literature." Computing Reviews

Book Description

Most books on data structures assume an imperative language like C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures and data structure design techniques from the point of view of functional languages. It includes code for a wide assortment both of classical data structures and of data structures developed exclusively for functional languages.This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.

Product Details

  • Paperback: 232 pages
  • Publisher: Cambridge University Press (June 13, 1999)
  • Language: English
  • ISBN-10: 0521663504
  • ISBN-13: 978-0521663502
  • Product Dimensions: 9 x 6 x 0.5 inches
  • Shipping Weight: 13.6 ounces (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #120,954 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

10 Reviews
5 star:
 (5)
4 star:
 (4)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.4 out of 5 stars (10 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

99 of 100 people found the following review helpful:
5.0 out of 5 stars An elegant book, March 30, 2005
This review is from: Purely Functional Data Structures (Paperback)
Okasaki's slim volume is one of the best expositions on implementing data structures & algorithms in a functional language. After taking an introductory course on functional programming, this would be the book which tells you where to go next.

This book doesn't just present a rehash/rewrite of imperative data structures, only written in a functional language. Instead, Okasaki makes sure to emphasize benefits which only functional programming can bring to the table. For example, many functional data structures can compactly represent not just their current state, but all of their past states as well--a feature called "Persistence". Also, functional newbie programmers might be wondering why lazy vs. strict programming is a big deal, and Okasaki shows clearly where data structures can benefit from either being lazy or being strict.

For the advanced reader, Okasaki also presents several powerful techniques for analyzing the runtime of algorithms, including the so-called "Banker's Method" and the "Physicist's Method" for analyzing amortized algorithms.

I hope that Okasaki comes out with a 2nd edition of this book; there is one missing piece in particular which I really wish he would have included: Although he presents an EXTREMELY lucid description of how to implement Red-Black trees in a functional language, he only presented algorithms for insertion and querying. Of course, deletion from a red-black tree is the hardest part, left here, I suppose, as an exercise to the student. If you want to supply this missing piece yourself, check out a paper by Stefan Kars, "Red-black trees with types", J. Functional Programming 11(4):425-432, July, 2001. It presents deletion routines, but you'll still want to read Okasaki's book first, for unless you're very much smarter than me you won't be able to understand Kars' paper until you read Okasaki's exposition of red black trees.

Finally, this book is not just useful for programmers in functional languages; logic programmers, using prolog or a varient, will also find this book very helpful, because most of the techniques (all of the techniques, really, with the exception perhaps of the lazy programming stuff) can be directly applied in a prolog programming setting as well.

After reading this book and implementing some of the data structures for yourself, you'll be amazed at how fast algorithms can run, even when written in a functional language!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


39 of 45 people found the following review helpful:
4.0 out of 5 stars Strange choice of implementation languages, November 6, 2006
By 
S. Brickner (Alexandria, VA United States) - See all my reviews
(REAL NAME)   
This review is from: Purely Functional Data Structures (Paperback)
The description of the book says it includes source code in both ML and Haskell. Unfortunately, the body of the text uses ML exclusively, and the Haskell code is banished to an appendix.

I say "unfortunately", because many of the data structures used depend on lazy evaluation, which comes quite naturally to Haskell, and seems to require some sort of non-standard extension in ML.

While the content is good, I wish it would have used Haskell as the primary exposition language.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


28 of 35 people found the following review helpful:
4.0 out of 5 stars Hash Tables are included, briefly., November 24, 2001
By A Customer
This review is from: Purely Functional Data Structures (Paperback)
A correction to another review: Hash Tables are included, briefly.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews








Only search this product's reviews



Inside This Book (learn more)
First Sentence:
A distinctive property of functional data structures is that they are always persistent-updating a functional data structure does not destroy the existing version, but rather creates a new version that coexists with the old one. Read the first page
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
enclosing suspension, amortized data structures, recursive slowdown, catenable lists, binary leaf trees, sortable collections, bad subscript, lazy rebuilding, unevaluated suspensions, leftist heaps, fun tail, binomial heaps, fun cons, fun lookup, fun exec, first compound element, five debits, nested suspension, four debits, leftist property, fun merge, pairing heaps, fun insert, rear digit, primitive heaps
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Map Map
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:




What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(7)
(2)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject