FunSeqSet: Towards a Purely Functional Data Structure for the Linearisation Case of Dynamic Trees Problem
Juan Carlos Saenz-Carrasco

TL;DR
This paper introduces FunSeqSet, a purely functional data structure for dynamic trees that efficiently supports link, cut, and connectivity queries within a functional programming context, specifically Haskell.
Contribution
It presents a novel purely functional data structure for dynamic trees, enabling efficient operations and connectivity checks in a functional programming setting.
Findings
Efficient implementation of link and cut operations in a purely functional setting
Performance measurements demonstrate competitiveness with traditional approaches
Discussion of different implementation strategies for the data structure
Abstract
Dynamic trees, originally described by Sleator and Tarjan, have been studied deeply for non persistent structures providing 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 and are connected (i.e. within the same forest) assumes that corresponding indices or locations for and 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Data Management and Algorithms · Data Mining Algorithms and Applications
