Rabu, 29 Agustus 2012

[H459.Ebook] Ebook Free Purely Functional Data Structures, by Chris Okasaki

Ebook Free Purely Functional Data Structures, by Chris Okasaki

Nevertheless, some individuals will certainly seek for the very best vendor publication to check out as the very first referral. This is why; this Purely Functional Data Structures, By Chris Okasaki is presented to fulfil your necessity. Some individuals like reading this publication Purely Functional Data Structures, By Chris Okasaki due to this popular book, but some love this as a result of preferred writer. Or, numerous likewise like reading this book Purely Functional Data Structures, By Chris Okasaki considering that they actually need to read this publication. It can be the one that truly love reading.

Purely Functional Data Structures, by Chris Okasaki

Purely Functional Data Structures, by Chris Okasaki



Purely Functional Data Structures, by Chris Okasaki

Ebook Free Purely Functional Data Structures, by Chris Okasaki

Purely Functional Data Structures, By Chris Okasaki. Is this your leisure? Just what will you do then? Having extra or spare time is quite remarkable. You can do everything without force. Well, we suppose you to save you couple of time to read this book Purely Functional Data Structures, By Chris Okasaki This is a god publication to accompany you in this cost-free time. You will certainly not be so tough to understand something from this publication Purely Functional Data Structures, By Chris Okasaki Much more, it will certainly assist you to get far better details and also experience. Also you are having the fantastic tasks, reviewing this book Purely Functional Data Structures, By Chris Okasaki will certainly not include your thoughts.

Keep your method to be here and read this web page completed. You could appreciate searching guide Purely Functional Data Structures, By Chris Okasaki that you actually refer to obtain. Here, getting the soft documents of the book Purely Functional Data Structures, By Chris Okasaki can be done effortlessly by downloading and install in the link web page that we give right here. Certainly, the Purely Functional Data Structures, By Chris Okasaki will certainly be all yours faster. It's no should wait for the book Purely Functional Data Structures, By Chris Okasaki to receive some days later on after buying. It's no need to go outside under the warms at center day to visit the book shop.

This is a few of the benefits to take when being the participant and also obtain guide Purely Functional Data Structures, By Chris Okasaki right here. Still ask what's different of the other website? We offer the hundreds titles that are produced by recommended authors and also authors, around the globe. The link to buy and also download and install Purely Functional Data Structures, By Chris Okasaki is also extremely easy. You might not discover the complicated website that order to do more. So, the means for you to obtain this Purely Functional Data Structures, By Chris Okasaki will be so very easy, will not you?

Based upon the Purely Functional Data Structures, By Chris Okasaki specifics that we provide, you could not be so baffled to be here as well as to be participant. Get currently the soft file of this book Purely Functional Data Structures, By Chris Okasaki and save it to be your own. You conserving could lead you to stimulate the ease of you in reading this book Purely Functional Data Structures, By Chris Okasaki Even this is kinds of soft file. You can really make better opportunity to obtain this Purely Functional Data Structures, By Chris Okasaki as the advised book to review.

Purely Functional Data Structures, by Chris Okasaki

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.

  • Sales Rank: #137933 in Books
  • Brand: Brand: Cambridge University Press
  • Published on: 1999-06-13
  • Original language: English
  • Number of items: 1
  • Dimensions: 8.98" h x .51" w x 5.98" l, .85 pounds
  • Binding: Paperback
  • 232 pages
Features
  • Used Book in Good Condition

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

About the Author
fm.author_biographical_note1

Most helpful customer reviews

27 of 27 people found the following review helpful.
One of my favorite computer science books
By David Bakin
[This review copied from my moribund blog at [...] ]

The typical data structures most programmers know and use require imperative programming: they fundamentally depend on replacing the values of fields with assignment statements, especially pointer fields. A particular data structure represents the state of something at that particular moment in time, and that moment only. If you want to know what the state was in the past you needed to have made a copy of the entire data structure back then, and kept it around until you needed it. (Alternatively, you could keep a log of changes made to the data structure that you could play in reverse until you get the previous state - and then play it back forwards to get back to where you are now. Both these techniques are typically used to implement undo/redo, for example.)

Or you could use a persistent data structure. A persistent data structure allows you to access previous versions at any time without having to do any copying. All you needed to do at the time was to save a pointer to the data structure. If you have a persistent data structure, your undo/redo implementation is simply a stack of pointers that you push a pointer onto after you make any change to the data structure.

This can be quite useful--but it is typically very hard to implement a persistent data structure in an imperative language, especially if you have to worry about memory management [1]. If you're using a functional programming language--especially a language with lazy semantics like Haskell--then all your data structures are automatically persistent, and your only problem is efficiency (and of course, in your functional languages, the language system takes care of memory management). But for practical purposes, as a hardcore C++ programmer for professional purposes, I was locked out of the world of persistent data structures.

Now, however, with C# and C++/CLI in use (and garbage collection coming to C++ any time now ... [2]) I can at last contemplate the use of persistent data structures in my designs. And that's great, because it gave me an excuse to take one of my favorite computer science books off the shelf and give it another read.

The book is Purely Functional Data Structures, by Chris Okasaki. I find it to be a very well written and easy to understand introduction to the design and analysis of persistent data structures--or equivalently--for the design and analysis of any data structure you'd want to use in a functional language.

There are two key themes of the book: First, to describe the use and implementation of several persistent data structures, such as different kinds of heaps, queues, and random-access lists, and second, to describe how to create your own efficient persistent data structures.

A nice feature here is the inclusion of "Hint to Practitioners" sidebars that point out which of these data structures work especially well in various contexts.

The second theme is the more demanding one--but of course, it is teaching something really valuable. First, the methods of analyzing amortized time taken by operations in a data structure are fully explained. The two basic techniques are the "banker's method" and the "physicist's method", and they have to do with different ways of accounting for time spent in in the different operations on a data structure so that bounds on the time spent can be computed. (The "credits" and "debits" used for accounting for time are not reflected in the code for the data structure - they are "virtual" and only used for the analysis.) Then, Okasaki adapts these methods to work for persistent data structures, and provides several fully worked out examples.

With analysis of persistent data structures explained he then goes on to describe several methods of creating efficient persistent data structures from non-persistent data structures. These methods are lazy rebuilding,use of numerical representations in building data structures, data-structural bootstrapping, and implicit recursive slowdown. These methods are all interesting, but the one which is most fun (and for me, the easiest to understand) is the use of numerical representations. In this method data structures are built by composing smaller structures in a form that is similar to the representation of a binary number--and merging and deleting items from the data structure is modeled as adding or subtracting from a number. Also, different kinds of binary number representations are used, and the use of base 3 and base 4 numbers is mentioned. [3]

The persistent data structures described are given with code (in an ML variant that includes explicit notations for lazy evaluation, and also in Haskell). After the book was published the data structures described were "productized" into a Haskell library called Edison, originally written by Chris Okasaki, but which is now maintained and enhanced by Robert Dockins and available at [...]

--------------------------------------------------------------------------------
1: A good starting point to look for papers on the subject of imperative persistent data structures is to search for papers co-authored by Robert E Tarjan with the word "persistent" in the title.

2: GC is part of the C++0x language and compilers will be required to support it, so that means we'll get to use it by 2015, I'm sure!

3: You can get the flavor of this kind of thing from this paper by Ralf Hinze - [...]

0 of 0 people found the following review helpful.
It is a great challenge to read and gives a great view of ...
By Amazon Customer
A very interesting book on data structures in Functional Programming. The concepts can be applied to any Functional Programming Language. NOT for the faint of heart though, I would suggest knowing and have a firm grasp of the Functional Programming Paradigm and confident in a Functional Programming Language (e.g. Haskell, Erlang etc). Knowing about Data Structures as well (such as Heaps, Linked Lists etc) is a must as well.
It is a great challenge to read and gives a great view of data structures you would never have thought of.

23 of 23 people found the following review helpful.
Haskell speakers may be daunted.
By Cliff L. Biffle
Despite the editorial description of the book, the book is really about Standard ML. It happens to have an appendix where source code has been translated -- out of order, and without reference to the text -- into Haskell. This makes it very difficult to read through the book without speaking Standard ML.

The exercises, also, are only SML. Several appear to use idiosyncratic SML features -- I say "appear" because no answers to the exercises, even the basic ones, are provided for me to check my understanding.

Essentially, the content is good, but expect to learn Standard ML to really get the most out of this book.

See all 20 customer reviews...

Purely Functional Data Structures, by Chris Okasaki PDF
Purely Functional Data Structures, by Chris Okasaki EPub
Purely Functional Data Structures, by Chris Okasaki Doc
Purely Functional Data Structures, by Chris Okasaki iBooks
Purely Functional Data Structures, by Chris Okasaki rtf
Purely Functional Data Structures, by Chris Okasaki Mobipocket
Purely Functional Data Structures, by Chris Okasaki Kindle

[H459.Ebook] Ebook Free Purely Functional Data Structures, by Chris Okasaki Doc

[H459.Ebook] Ebook Free Purely Functional Data Structures, by Chris Okasaki Doc

[H459.Ebook] Ebook Free Purely Functional Data Structures, by Chris Okasaki Doc
[H459.Ebook] Ebook Free Purely Functional Data Structures, by Chris Okasaki Doc

Tidak ada komentar:

Posting Komentar