Amortization, Lazy Evaluation, and Persistence: Lists with Catenation via Lazy Linking
نویسنده
چکیده
Amortization has been underutilized in the design of persistent data structures, largely because traditional accounting schemes break down in a persistent setting. Such schemes depend on saving “credits” for future use, but a persistent data structure may have multiple “futures”, each competing for the same credits. We describe how lazy evaluation can often remedy this problem, yielding persistent data structures with good amortized efficiency. In fact, such data structures can be implemented purely functionally in any functional language supporting lazy evaluation. As an example of this technique, we present a purely functional (and therefore persistent) implementation of lists that simultaneously support catenation and all other usual list primitives in constant amortized time. This data structure is much simpler than the only existing data structure with comparable bounds, the recently discovered catenable lists of Kaplan and Tarjan, which support all operations in constant worst-case time.
منابع مشابه
Purely functional data structures
When a C programmer needs an efficient data structure for a particular problem, he or she can often simply look one up in any of a number of good textbooks or handbooks. Unfortunately, programmers in functional languages such as Standard ML or Haskell do not have this luxury. Although some data structures designed for imperative languages such as C can be quite easily adapted to a functional se...
متن کاملThe Topology of Lazy Lists
This directory contains two theories. The first, Topology, develops the basic notions of general topology. The second, LList Topology, develops the topology of lazy lists.
متن کاملRecursive Functions on Lazy Lists via Domains and Topologies pdfauthor=Andreas Lochbihler and Johannes Hölzl
The usual definition facilities in theorem provers cannot handle all recursive functions on lazy lists; the filter function is a prime counterexample. We present two new ways of directly defining functions like filter by exploiting their dual nature as producers and consumers. Borrowing from domain theory and topology, we define them as a least fixpoint (producer view) and as a continuous exten...
متن کاملRecursive Functions on Lazy Lists via Domains and Topologies pdfauthor
The usual definition facilities in theorem provers cannot handle all recursive functions on lazy lists; the filter function is a prime counterexample. We present two new ways of directly defining functions like filter by exploiting their dual nature as producers and consumers. Borrowing from domain theory and topology, we define them as a least fixpoint (producer view) and as a continuous exten...
متن کاملExperiences of elementary male students from descriptive evaluation
This study conducted with aim of investigation profound experiences of elementary male students in the fourth and fifth grades from the descriptive evaluation. The method of this study was qualitative and phenomenological one. To achieve this objective and considering the nature of the study, purposeful sampling was used. Collected Data were saturated by interviewing with nine students. Data we...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995