We consider succinct, or highly space-efficient, representations of a (static) string consisting of n pairs of balanced parentheses, that support natural operations such as findi...
Richard F. Geary, Naila Rahman, Rajeev Raman, Venk...
A framework for producing dynamic data structure visualizations within the context of a lightweight IDE is described. Multiple synchronized visualizations of a data structure can ...
T. Dean Hendrix, James H. Cross II, Larry A. Barow...
Output-sensitive data structures result from preprocessing n items and are capable of reporting the items satisfying an on-line query in O(t(n) + ℓ) time, where t(n) is the cost ...
Coalgebras provide effective models of data structures and state-transition systems. A virtual covariety is a class of coalgebras closed under coproducts, images of coalgebraic mo...
Abstract. Separation logic is a program logic for reasoning about programs that manipulate pointer data structures. We describe Smallfoot, a tool for checking certain lightweight s...
Josh Berdine, Cristiano Calcagno, Peter W. O'Hearn
In this paper, we present a formal description of data slicing, which is a type-directed program transformation technique that separates a program’s heap into several independent...
Coordinated data structures are sets of (perhaps unbounded) data structures where the nodes of each structure may share types with the corresponding nodes of the other structures....
Red-black trees and leftist heaps are classic data structures that are commonly taught in Data Structures (CS2) and/or Algorithms (CS7) courses. This paper describes alternatives ...
Flash memory is a type of electrically erasable programmable read-only memory (EEPROM). Because flash memories are nonvolatile and relatively dense, they are now used to store ...
We present an interaction device for navigating data structures or browsing menus using only one hand. It is especially designed for situations in which the user wears gloves that...