FunSeqSet: Towards a Purely Functional Data Structure for the Linearisation Case of Dynamic Trees Problem

Dynamic trees, originally described by Sleator and Tarjan, have been studied deeply for non persistent structures providing O(log n) time for update and lookup operations as shown in theory and practice by Werneck. However, discussions on how the most common dynamic trees operations (i.e. link and cut) are computed over a purely functional data structure have not been studied. Even more, asking whether vertices u and v are connected (i.e. within the same forest) assumes that corresponding indices or locations for u and v are taken for granted in most of the literature, and not performed as part of the whole computation for such a question. We present FunSeqSet, based on the primitive version of finger trees, i.e. the de facto sequence data structure for the purely functional programming language Haskell, augmented with variants of the collection (i.e. sets) data structures in order to manage efficiently k-ary trees for the linearisation case of the dynamic trees problem. Different implementations are discussed, and the performance is measured.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/24/2018

Lower Bounds for Oblivious Data Structures

An oblivious data structure is a data structure where the memory access ...
research
08/28/2019

Performance Analysis of Zippers

A zipper is a powerful technique of representing a purely functional dat...
research
10/25/2018

Batch-Parallel Euler Tour Trees

The dynamic trees problem is to maintain a forest undergoing edge insert...
research
04/12/2022

PaC-trees: Supporting Parallel and Compressed Purely-Functional Collections

Many modern programming languages are shifting toward a functional style...
research
07/15/2017

Memoisation: Purely, Left-recursively, and with (Continuation Passing) Style

Memoisation, or tabling, is a well-known technique that yields large imp...
research
04/17/2019

Low-Latency Graph Streaming Using Compressed Purely-Functional Trees

Due to the dynamic nature of real-world graphs, there has been a growing...
research
10/11/2021

Efficient Extensional Binary Tries

Lookup tables (finite maps) are a ubiquitous data structure. In pure fun...

Please sign up or login with your details

Forgot password? Click here to reset